Irrlicht 3D遊戲引擎程式設計

Irrlicht 3D遊戲引擎程式設計

《Irrlicht 3D遊戲引擎程式設計》是2017年8月1日清華大學出版社出版的圖書,作者是許志聞。

基本介紹

  • 中文名:Irrlicht 3D遊戲引擎程式設計
  • 作者:許志聞
  • 出版時間:2017年8月1日
  • 出版社:清華大學出版社
  • ISBN:9787302475934
  • 定價:59 元
內容簡介,圖書目錄,

內容簡介

Irrlicht(鬼火)引擎是一款用C++編寫的高性能3D引擎,是經典的3D遊戲引擎之一,可以套用於在C++程式中開發3D遊戲。本書以實例的形式向讀者展示Irrlicht的編程精髓,融入了3D遊戲設計的理論基礎、技巧等方面的知識。

圖書目錄

第1章Irrlicht遊戲引擎1
1.1Irrlicht使用許可與系統要求1
1.2獲得Irrlicht引擎2
1.3在Windows下設定編譯器4
1.3.1設定編譯器的原理4
1.3.2設定動態程式庫的方法5
1.3.3其他設定方法10
1.3.4環境變數的設定方法11
1.3.5設定過程中常見的問題12
1.4重新編譯Irrlicht引擎13
1.5測試是否已經正確設定15
1.6在Linux環境中使用鬼火遊戲引擎16
1.6.1在Linux下編譯靜態庫16
1.6.2編譯HelloWorld程式並運行17
1.6.3在Linux下創建第一個項目18
1.6.4第三方編程工具Code::Blocks19
第2章編寫第一個Irrlicht程式20
2.1Irrlicht引擎的結構20
2.1.1引入命名空間20
2.1.2了解Irrlicht引擎的結構21
2.2分析簡單的代碼21
2.3簡單的擴展24
2.4類的形式26
2.5讓視窗顯示內容28
2.6比較成型的模式29
2.7讓我們的程式發生變化30
第3章圖形學基礎33
3.1計算機顯示原理33
3.1.1圖形系統的硬體33
3.1.2光柵掃描系統34
3.1.3計算機圖形標準35
3.2圖形學的數學基礎36
3.2.1向量及向量運算36
3.2.2坐標36
3.2.3基本幾何變換38
3.2.4三維空間的變換40
3.3雙快取和垂直同步42
3.4紋理43
3.5Z緩衝45
3.6攝像機46
3.7粒子系統47
第4章格線、紋理、覆蓋層50
4.1格線簡介50
4.2不同格式格線模型的區別52
4.3初識紋理54
4.4動態格線模型56
4.5覆蓋層59
4.6使用精靈表63
4.7繪製基本圖形67
第5章場景管理69
5.1場景節點和實體69
5.1.1場景節點69
5.1.2實體71
5.2場景節點類型72
5.3場景管理器74
5.4動態節點74
5.5場景的套用示例77
5.5.1場景節點的套用77
5.2.2動態節點的套用81
5.5.3自定義場景節點83
第6章攝像機87
6.1攝像機投影87
6.1.1正交投影88
6.1.2透視投影89
6.1.3兩種投影在代碼上的實現90
6.2裁剪92
6.3攝像機觀看視角的類型95
6.3.1普通攝像機95
6.3.2第一人稱射擊攝像機95
6.3.3Maya攝像機96
6.4FPS攝像機的使用示例96
第7章地形、紋理和渲染99
7.1地形場景節點類99
7.2高度圖101
7.3紋理102
7.3.1紋理簡介102
7.3.2使用紋理103
7.4渲染示例106
7.4.1渲染地形106
7.4.2紋理渲染111
7.5創建地形114
第8章光照與材質119
8.1光照模型119
8.2光源119
8.3深入光源120
8.3.1模擬環境光121
8.3.2模擬漫射光123
8.3.3燈光的衰減123
8.4光源124
8.4.1光源的類型124
8.4.2光源屬性125
8.4.3添加燈光126
8.5一些簡單的光照示例127
8.5.1用代碼實現環境光127
8.5.2用代碼實現漫射光129
8.5.3用代碼實現鏡面反射光132
8.6材質135
8.7陰影136
8.8著色137
8.8.1著色模式137
8.8.2設定著色模式138
8.9示例138
8.9.1光照和材質示例138
8.9.2顯示實時動態陰影140
第9章聲音144
9.1聲音基礎144
9.1.1聲音的生成144
9.1.2聲音的編碼存儲145
9.1.3聲音的合成146
9.2irrKlang簡介146
9.3irrKlang的使用147
9.3.1實踐HelloWorld147
9.3.2播放3D聲音檔案151
9.3.3聲音特效154
第10章粒子系統157
10.1粒子系統簡介157
10.2粒子編輯器——irrEdit158
10.2.1添加自己的粒子系統158
10.2.2設定粒子系統159
10.3粒子系統各部分的代碼實現160
10.3.1粒子結構160
10.3.2發射器161
10.3.3影響器163
10.4繪製一個粒子系統164
10.4.1編寫代碼完成一個簡單的粒子系統164
10.4.2使用代碼製作水面169
10.4.3環形粒子系統173
第11章碰撞檢測177
11.1碰撞檢測概述177
11.2幾何和數學知識178
11.2.1多邊形和多面體178
11.2.2BSP樹179
11.2.3空間四叉樹和空間八叉樹179
11.2.4Minkowski和與Minkowski差180
11.2.5包圍體181
11.3常用的碰撞檢測算法183
11.3.1距離跟蹤法183
11.3.2基於圖像空間的碰撞檢測法183
11.3.3空間分解法184
11.3.4層次包圍盒法185
11.4代碼解析185
第12章數據和檔案的處理192
12.1Irrlicht檔案系統簡介192
12.2檔案的讀取和寫入194
12.2.1寫檔案194
12.2.2普通檔案的讀寫195
12.2.3一行一行讀取和按分隔設定讀取198
12.2.4XML檔案的讀寫200
12.2.5從XML檔案中載入數據201
12.2.6向XML檔案寫入數據204
12.2.7從XML檔案中讀取特殊數據類型的數據205
12.3從檔案中讀取數據207
第13章著色器210
13.1圖形渲染管線簡介210
13.2著色器簡介211
13.2.1頂點著色器211
13.2.2片斷(像素)著色器211
13.2.3幾何著色器212
13.3使用著色器212
13.3.1安裝並使用GLSLdemo212
13.3.2在Irrlicht引擎中使用著色器214
13.4進一步了解著色器223
第14章遊戲人工智慧224
14.1什麼是智慧型224
14.2什麼是遊戲AI225
14.3AI的組成與設計226
14.3.1抉擇與推理226
14.3.2解決方案的類型226
14.3.3智慧型體的反應能力226
14.3.4系統的真實性226
14.3.5遊戲類型227
14.3.6遊戲內容227
14.3.7遊戲平台227
14.4AI的輸入處理和感知228
14.4.1感知系統228
14.4.2更新規則229
14.4.3反應時間229
14.4.4門限229
14.4.5負荷平衡229
14.4.6計算代價與預處理229
14.5OpenSteer230
第15章部署一個Irrlicht應用程式232
15.1什麼是部署232
15.2針對不同平台打包發布套用232
15.2.1在Windows平台下部署Irrlicht應用程式232
15.2.2在Linux平台下部署Irrlicht應用程式233
15.2.3在MacOSX平台下部署Irrlicht應用程式234
15.3部署原始碼236
15.3.1為什麼要部署原始碼236
15.3.2如何部署236

熱門詞條

聯絡我們