Irrlicht 3D遊戲引擎程式設計

基本介紹

  • 書名:Irrlicht 3D遊戲引擎程式設計
  • 作者:許志聞
  • ISBN:9787302475934
圖書信息,內容簡介,目錄,

    圖書信息

    Irrlicht 3D遊戲引擎程式設計
    作者:許志聞
    定價:59元
    印次:1-1
    ISBN:9787302475934
    出版日期:2017.08.01
    印刷日期:2017.07.17

      內容簡介

      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

      相關詞條

      熱門詞條

      聯絡我們