內容簡介目錄內容提要本書全面地介紹了使用Visual C++/DirectX9開發(fā)3D游戲的基本方法和步驟。全書共分為21章,主要內容包括Win32 API編程、3D游戲中的數(shù)學基礎、各種3D渲染原理及其實現(xiàn)技術、DirectInput輸入處理和DirectSound聲效處理等。另外,對四元數(shù)的數(shù)學構造、骨骼動畫的原理和實現(xiàn),以及四叉樹細節(jié)層級地形等其他同類書中很少提及的內容,本書都給出了十分詳細的闡述和分析。配套光盤中提供了書中實例的完整工程文件和全部源代碼,以方便讀者編譯、調試,鞏固所學知識。本書面向于游戲開發(fā)人員,同時也可作為高等院校相關專業(yè)和培訓機構的游戲課程用書。 目 錄第1章 C/C++基礎回顧 11.1 淺談編程行為 11.2 程序結構和分割編譯 41.3 編譯預處理指令 51.4 程序的注釋 71.5 變量的使用 71.6 函數(shù)的使用 91.7 指針和引用 101.8 流程控制語句 131.9 結構體和聯(lián)合體 161.10 用類封裝模塊 181.11 類的繼承 211.12 函數(shù)的重載、覆蓋和隱藏 221.13 訪問權限 231.14 本章小結 24第2章 Win32 API編程基礎 252.1 基于回調的Windows程序運行機制 252.2 一個簡單的Windows示例程序 262.3 WinMain函數(shù)及讀取消息的循環(huán)體 322.4 注冊窗口類 352.5 創(chuàng)建應用程序窗口實例 382.6 回調的窗口過程函數(shù) 392.7 編譯和調試程序 432.8 匈牙利變量命名方法 452.9 本章小結 46第3章 DirectX 3D游戲開發(fā)入門 473.1 三維物體的基本成像流程 473.1.1 世界坐標系的引入 483.1.2 攝影坐標系的引入 493.1.3 剪裁和透視投影 513.1.4 視口變換和像素的光柵顯示 523.2 光柵顯示器的基本原理 543.3 顯示卡的3D渲染管道線 553.4 淺談COM組件技術 563.4.1 直接調用C++類的函數(shù) 573.4.2 將C++類打包成DLL提供調用 593.4.3 利用抽象基類改進C++類 613.5 DirectX 9.0的安裝和配置 643.6 本章小結 67第4章 3D游戲中的數(shù)學基礎 684.1 向量 684.1.1 向量相加 704.1.2 向量相減 714.1.3 向量的標量乘法 724.1.4 向量長度的計算 734.1.5 向量的單位化 744.1.6 向量的點積 754.1.7 向量的叉積 764.2 矩陣 784.2.1 矩陣的基本運算 804.2.2 矩陣的求逆 824.2.3 矩陣的轉置 844.3 坐標變換 854.3.1 平移變換 864.3.2 放大縮小變換 894.3.3 旋轉變換 904.4 平面 944.4.1 三點確定一個平面 944.4.2 直線與平面的交點 964.4.3 點和平面的位置關系 974.4.4 平面的單位化 984.5 四元數(shù) 994.5.1 四元數(shù)的數(shù)學史 994.5.2 復數(shù)的符合邏輯的定義 994.5.3 復數(shù)的高維推廣:四元數(shù) 1004.5.4 四元數(shù)在旋轉變換中的應用 1014.6 DirectX中的一些具體數(shù)學問題的計算 1044.6.1 世界坐標系到攝影坐標系的變換 1044.6.2 齊次剪裁透視投影變換 1064.6.3 視截體的平面計算 1074.6.4 透視投影空間到屏幕視口的變換 1114.7 本章小結 113第5章 鍵盤、鼠標和游戲桿的輸入處理 1145.1 配置DirectInput的動態(tài)鏈接庫 1145.2 創(chuàng)建DirectInput接口對象 1155.3 使用DirectInput接口函數(shù) 1175.4 設置DirectInput設備的數(shù)據格式 1185.5 設置DirectInput設備的協(xié)調級別 1195.6 獲取輸入設備的訪問權 1205.7 設置DirectInput設備的屬性 1205.8 讀取鍵盤的輸入 1225.9 讀取鼠標的輸入 1285.10 讀取游戲桿的輸入 1375.11 本章小結 147第6章 游戲框架、輸入和時鐘引擎類 1486.1 游戲框架類CGameEngine_App 1486.2 輸入類CGameEngine_Input 1516.3 時鐘類CGameEngine_Timer 1596.4 本章小結 163第7章 基本三角形面的繪制 1647.1 DirectX Graphics基本應用架構 1647.2 創(chuàng)建IDirect3D9接口對象 1667.3 創(chuàng)建Direct3D設備 1667.4 創(chuàng)建頂點緩沖區(qū) 1707.5 啟動管道流水線進行渲染 1737.6 實例:繪制一個基本的三角形面 1757.7 本章小結 179第8章 基本立體面的繪制 1808.1 3D原始類型 1808.2 頂點順序和背面剔除 1818.3 頂點索引緩沖區(qū) 1838.4 在世界坐標系中放置物體 1868.5 架設攝影機進行取景和投影 1878.6 屏幕視口的設置 1888.7 實例:繪制一個基本的立體面 1898.8 本章小結 196第9章 材質和光照處理 1979.1 顏色與光照 1979.2 光源設置 2009.2.1 點光源 2019.2.2 聚焦光源 2029.2.3 方向光源 2039.2.4 環(huán)境光 2049.3 材質設置 2049.4 頂點的法向量 2059.5 實例:點光源渲染 2079.6 本章小結 214第10章 紋理貼圖 21510.1 頂點的紋理坐標 21510.2 創(chuàng)建紋理對象 21610.3 紋理過濾技術 21710.4 紋理地址模式 21910.5 實例:紋理貼圖 22610.6 本章小結 234第11章 Alpha顏色混合 23511.1 顏色混合原理 23511.2 Alpha顏色混合例子 23711.3 利用ID3DXSprite實現(xiàn)顏色透明 24211.4 利用Alpha測試實現(xiàn)顏色透明 24811.5 本章小結 254第12章 XFile網格的應用 25612.1 .x文件的基本格式 25612.2 .x文件的數(shù)據裝入 26212.3 Mesh數(shù)據的處理 26412.4 Mesh數(shù)據的優(yōu)化 26712.5 實例:.x文件的網格渲染 26912.6 本章小結 275第13章 骨骼動畫的實現(xiàn) 27613.1 骨骼動畫的基本原理 27613.2 .x文件的動畫格式 27913.3 .x文件動畫數(shù)據的裝入 28413.4 骨骼蒙皮的渲染 29213.5 實例:骨骼動畫的實現(xiàn) 30013.6 本章小結 308第14章 視點相關的LOD地形渲染 31014.1 地形高度圖 31014.2 地表的四叉樹分割 31214.3 視點距離相關的細節(jié)層級判別 31914.4 地形節(jié)點的渲染 32614.5 規(guī)范節(jié)點的分割 33514.6 實例:LOD地形渲染 33814.7 本章小結 346第15章 基本3D渲染引擎類 34715.1 場景管理類CGameEngine_SceneManager 34715.2 紋理處理類CGameEngine_Texture 35715.3 頂點處理類CGameEngine_VertexBuffer 35915.4 光照處理類CGameEngine_Light 36315.5 材質處理類CGameEngine_Material 36615.6 本章小結 368第16章 天空和廣告牌技術 36916.1 矩形面天空 36916.2 球面天空 37816.3 廣告牌技術 38616.4 本章小結 391第17章 霧化處理 39217.1 霧化原理 39217.2 霧化融合 39317.3 霧化顏色 39417.4 選擇霧化模式 39417.5 頂點霧化 39417.6 像素霧化 39717.7 本章小結 398第18章 文字和能量格渲染 39918.1 ID3DXFont接口的應用 39918.2 字體引擎類CGameEngine_Font 40018.3 能量格引擎類CGameEngine_EnergyBar 40418.4 實例:文字和能量格渲染 40818.5 本章小結 414第19章 粒子系統(tǒng) 41519.1 用Point Sprite實現(xiàn)粒子 41519.2 粒子引擎類CGameEngine_Particle 41719.3 實例:爆炸粒子渲染 42519.4 本章小結 427第20章 Stencil蒙板陰影處理 42820.1 Stencil蒙板緩沖區(qū) 42820.2 平面陰影計算 43120.3 實例:平面陰影渲染 43320.4 ShadowMap陰影映射圖技術 44320.5 ShadowVolume陰影體技術 44520.6 本章小結 448第21章 DirectSound聲音播放 44921.1 聲音的播放原理 44921.2 創(chuàng)建IDirectSound8對象 45121.3 設置設備的協(xié)調級別 45121.4 Primary主緩沖區(qū)的創(chuàng)建 45221.5 Secondary次緩沖區(qū)的創(chuàng)建 45421.6 裝入聲音數(shù)據到次緩沖區(qū) 45721.7 聲音的播放與控制 45821.8 CGameEngine_Sound聲音引擎類 46021.9 實例:DirectSound的聲音渲染 46621.10 3D聲效的使用 46821.11 本章小結 472