內容摘要
本書主要介紹如何利用3D固定流水線編寫遊戲引擎,以及在已編寫引擎的基礎上開發遊戲,全書共分10章,主要內容包括遊戲引擎簡介、數學知識、材質和光照、固定流水線、遊戲引擎架構、3D引擎底層封裝、3D引擎封裝、遊戲設計實現、地圖編輯器、3D可程式流水線。本書重點介紹3D固定流水線編程中涉及的矩陣和向量之間的換算,後一章介紹了GPU編程,也就是常說的3D可程式流水線。
目錄
第1章 遊戲引擎簡介 (1)
1.1 引擎的原理 (1)
1.2 開發3D引擎具備的條件 (4)
總結 (6)
第2章 數學知識 (8)
2.1 向量 (8)
2.1.1 向量加法及運用 (9)
2.1.2 向量減法及運用 (10)
2.1.3 向量點積及套用 (10)
2.1.4 向量的叉乘及套用 (12)
2.1.5 向量的長度及套用 (13)
2.1.6 向量的歸一化及套用 (14)
2.2 矩陣運算 (14)
2.2.1 矩陣加法和減法 (14)
2.2.2 矩陣乘法及運用 (15)
2.3 3D坐標系 (19)
2.4 齊次坐標 (19)
2.5 四元數 (20)
總結 (20)
第3章 材質和光照 (22)
3.1 材質 (22)
3.2 光照 (23)
總結 (26)
第4章 固定流水線 (27)
4.1 局部坐標到世界坐標的變換 (27)
4.2 世界坐標到相機坐標的變換 (29)
4.3 物體剔除 (31)
4.4 相機坐標到透視坐標的變換 (32)
4.5 透視坐標到視口坐標的變換 (33)
4.6 光柵化 (33)
總結 (34)
第5章 遊戲引擎架構 (35)
5.1 模組功能細分 (36)
5.2 GDI含義 (36)
5.3 整個引擎渲染思路 (37)
總結 (38)
第6章 3D引擎底層封裝 (39)
6.1 自定義結構體 (39)
6.2 矩陣定義 (45)
6.3 通用類定義 (54)
6.4 向量運算 (59)
6.5 燈光 (72)
6.6 視景體 (77)
6.7 矩陣轉換 (83)
6.8 圖形渲染系統 (89)
6.9 材質 (100)
6.10 坐標系之間的轉換 (109)
總結 (158)
第7章 3D引擎封裝 (159)
7.1 相機的實現 (160)
7.2 監聽事件 (166)
7.3 模型分析 (168)
7.4 模型載入 (169)
7.5 模型操作 (180)
7.6 場景管理 (191)
7.7 繪圖接口 (206)
7.8 遊戲視窗 (207)
總結 (217)
第8章 遊戲設計實現 (218)
8.1 遊戲架構 (218)
8.2 坦克設計 (219)
8.3 AI坦克 (230)
8.4 子彈設計 (235)
8.5 玩家控制 (240)
8.6 遊戲類封裝 (246)
8.7 遊戲管理 (253)
8.8 主循環 (276)
總結 (278)
第9章 地圖編輯器 (280)
9.1 編輯器實現 (281)
9.2 模型外掛程式實現 (282)
總結 (284)
第10章 3D可程式流水線 (285)
10.1 GPU程式語言 (287)
10.2 燈光的Shader渲染 (287)
10.3 CelShading渲染 (291)
10.4 環境映射 (298)
10.5 Phong著色 (302)
10.6 Bloom渲染 (305)
10.7 PSSM陰影 (314)
總結 (323)