●章 引擎的紛爭1
1.1什麼是遊戲引擎1
1.2那些年我們認識的引擎3
1.3引擎和遊戲.4
第2章 起航6
2.1遊戲編程6
2.2遊戲引擎的組成7
2.3遊戲引擎編輯器的組成8
2.4數學10
2.5空間變換12
2.5.1坐標繫12
2.5.2不同空間的轉換12
2.63D 流水線.15
2.7OpenGL 和DirectX .16
2.8彙編指令17
2.9引擎工作流17
練習18
第3章 基本繫統.19
3.1熟悉開發環境.19
3.2VSSystem 工程20
3.3內存管理25
3.3.1處理內存洩露25
3.3.2Unreal Engine 3 的內存分配.33
3.3.3棧內存管理.51
3.3.4整合.57
3.4靜態類型信息判斷59
練習62
示例62
第4章 基本數據結構64
4.1基類VSContainer .65
4.2常用數據結構.66
4.3其他數據結構.71
4.4C++代理/委托.72
練習85
示例86
第5章 數學庫88
5.1基本數學88
5.2基本.91
5.3基本.98
第6章 初始化與銷毀103
6.1傳統初始化和銷毀104
6.2全局內存管理器的初始化和銷毀107
6.3非單件類的初始化和銷毀108
示例115
第7章 應用程序框架116
7.1程序框架接口117
7.2輸入/輸出映射.124
練習128
示例129
第8章 對像繫統130
8.1智能指針.130
8.2RTTI136
8.3VSObject140
8.4屬性反射.146
8.5序列化存儲159
8.5.1傳統序列化方式159
8.5.2使用屬性表進行序列化存儲.162
8.6克隆186
8.7屬性與UI 綁定* .191
8.7.1基本控件192
8.7.2組合控件與屬性196
8.7.3屬性綁定208
8.8函數反射.214
8.9復制屬性與函數.222
8.9.1對像復制225
8.9.2屬性復制225
8.9.3函數復制227
8.9.4小結228
8.10番外篇——Unreal Engine 4 中的
反射*231
練習238
示例239
第9章 資源管理241
9.1資源類型.241
9.2資源代理.247
9.3對像繫統——資源251
9.3.1資源的組織形式251
9.3.2外部資源管理.256
9.3.3字符串管理258
9.3.4內部資源管理.260
練習264
0章 引擎的設計哲學265
10.1世界抽像265
10.2萬物的關繫.267
10.3引擎層267
10.4世界與引擎.270
10.5垃圾回收275
10.5.1智能指針與垃圾回收276
10.5.2基於對像繫統276
10.5.3創建可回收的對像277
10.5.4根對像選擇278
10.5.5聯繫查找.279
10.5.6垃圾回收的時機.287
10.5.7資源的垃圾回收.290
練習295
1章 場景管理297
11.1根節點與場景298
11.2空間位置的父子關繫299
11.2.1變換301
11.2.2包圍盒304
11.2.3空間管理結構與更新309
11.3相機與相機裁剪315
11.3.1相機的定義316
11.3.2根據相機裁剪物體321
11.4靜態物體與動態物體328
11.4.1采用四叉樹管理靜態物體.329
11.4.2入口算法簡介和潛在的
可見集合*334
11.5光源337
11.5.1間接光338
11.5.2局部光340
11.6相機和光源的更新管理342
11.7番外篇——淺談Prez、軟硬件
遮擋剔除*345
練習346
示例347
2章 模型與貼圖349
12.1法線與切線空間349
12.2引擎中的網格結構.354
12.2.1數據緩衝區、頂點、網格354
12.2.2VSGeometry、VSMeshNode、
VSMeshComponent359
12.2.3一個完整網格的創建過程361
12.3FBX 模型導入與壓縮366
12.4紋理.380
12.5給模型添加材質387
12.6番外篇——3D 模型制作流程*388
示例391
3章 LOD393
13.1模型的DLOD393
13.2模型的CLOD401
13.3地形的DLOD409
13.4地形的CLOD414
13.5番外篇——地形編輯*417
13.5.1基於2D 網格的地形繫統.417
13.5.2基於塊和懸崖的地形繫統421
13.5.3基於體素的地形繫統423
練習425
示例425
內容簡介
本書著重講解遊戲引擎的基礎知識和工作原理,並結合配套的遊戲引擎示例和詳盡的代碼,介紹遊戲引擎開發的技術細節。本書是卷,主要涉及遊戲引擎基礎架構。全書共13章,分別介紹遊戲引擎原理、引擎和引擎編輯器、底層基礎架構、數據結構、數學庫、引擎初始化、應用程序架構、對像繫統、資源管理、引擎設計的哲學理念、場景管理、靜態模型導入和LOD技術。本書未涵蓋的遊戲引擎話題將在卷2中講解。本書適合有一定的遊戲開發基礎和經驗並且想要繫統學習遊戲引擎原理和引擎開發技術的讀者閱讀。