DIRECT 3D技術內幕

DIRECT 3D技術內幕

《DIRECT 3D技術內幕》是2001年由清華大學出版社出版的圖書,作者是(美)PeterJ.Kovach。

基本介紹

  • 書名:DIRECT 3D技術內幕
  • 作者:(美)PeterJ.Kovach
  • 出版社:清華大學出版社
  • 出版時間:2001年
目錄
第1章DirectX基礎
1.1DirectXAPI
1.1.1DirectDraw
1.1.2Direct3D
1.1.3DirectMusic
1.1.4DirectSound
1.1.5DirectPlay
1.1.6DirectInput
1.1.7DirectSetup
1.2Direct3D作為DirectXAPI時的工作方式
1.3使用DirectXAPI所應了解的知識
1.3.1什麼是COM對象
1.3.2AddRef和Release方法的用途
1.3.3C和C++調用DirectX方法的差別
1.3.4返回代碼
1.4Direct3DFramework
1.5結束語
第2章Direct3D程式中的Windows代碼
2.1Windows代碼的組織方法
2.1.1用於指定所包含檔案和定義GUID的代碼
2.1.2CMyD3DApplication和CD3DApplication類
2.1.3建立主視窗和訊息處理
2.1.4建立訊息處理循環
2.1.5建立應用程式的視窗進程
2.2目前的程式代碼
2.3結束語
第3章創建Direct3D程式的DirectDraw
3.1DirectDraw和多顯示器
3.2建立DirectDraw
3.3創建保存所列舉設備的數據結構
3.4列舉DirectDraw設備
3.5創建DirectDraw對象
3.6列舉顯示模式
3.7列舉Direct3D設備
3.8選擇Direct3D設備
3.9利用CD3DFramework7對象初始化DirectDraw
3.10設定協作級別
3.11創建表面
3.11.1前緩衝區、後緩衝區和裁剪程式
3.11.2全螢幕幕緩衝區
3.11.3視窗模式緩衝區
3.12界面的翻動
3.13目前的程式代碼
3.14結束語
第4章用於DirectX應用程式的Direct3D
4.1Direct3DImmediateMode的對象和接口
4.1.1DirectDraw對象
4.1.2DirectDrawSurface對象
4.1.3Direct3DDevice對象
4.1.4Direct3DVertexBuffer對象
4.2創建ImmediateMode的應用程式
4.2.1步驟1:初始化應用程式
4.2.2步驟2:判定DirectX的版本
4.2.3步驟3:列舉可用的Direct3D設備
4.2.4步驟4:選擇Direct3D設備
4.2.5步驟5:獲取IDirectDraw7接口
4.2.6步驟6:從IDirectDraw7獲取IDirect3D7接口並創建Direct3D設備
4.2.7步驟7:創建深度緩衝區
4.3目前的程式代碼
4.4結束語
第5章Direct3D頂點及轉換和照明流水線
5.1T&L流水線概述
5.1.1世界轉換
5.1.2視圖轉換
5.1.3照明
5.1.4投影轉換和觀察平截面
5.1.5裁剪
5.1.6除以W或非均勻
5.1.7視口縮放
5.2頂點
5.2.1靈活的頂點格式
5.2.2左手和右手坐標系
5.2.3跨距頂點格式
5.2.4頂點緩衝區
5.3建立T&L流水線矩陣
5.3.1世界矩陣
5.3.2觀察矩陣
5.3.3投影矩陣
5.4視口
5.4.1創建視口
5.4.2建立視口
5.4.3清理視口
5.5照明
5.5.1環境光
5.5.2直射光
5.5.3光的顏色與材料顏色
5.5.4光的類型
5.5.5光的屬性
5.5.6設定光的屬性
5.5.7檢索光的屬性
5.5.8啟用和禁用照明引擎
5.5.9啟用和禁用某種光
5.6目前的程式代碼
5.7結束語
第6章渲染3D圖元
6.1BeginScene和EndScene方法
6.2索引和無索引圖元
6.3DrawPrimitive方法
6.3.1DrawPrimitive
6.3.2DrawPrimitiveStrided
6.3.3DrawPrimitiveVB
6.3.4DrawlndexedPrimitive
6.3.SDrawlndexedPrimitiveStrided
6.3.6DrawIndexedPrimitiveVB
6.4圖元的類型
6.4.1點列表
6.4.2線列表
6.4.3線條
6.4.4三角形列表
6.4.5三角條形
6.4.6三角扇形
6.5設定渲染狀態
6.5.1Alpha混合狀態
6.5.2Alpha測試狀態
6.5.3環境光狀態
6.5.4消除鋸齒狀態
6.5.5裁剪狀態
6.5.6顏色鍵控狀態
6.5.7清除狀態
6.5.8深度緩衝狀態
6.5.9填充狀態
6.5.10霧化狀態
6.5.11照明狀態
6.5.12輪廓狀態
6.5.13單頂點顏色狀態
6.5.14陰影狀態
6.5.15模板緩衝狀態
6.5.16紋理透視狀態
6.5.17紋理包裝狀態
6.5.18頂點顏色照明狀態
6.5.19Z偏差狀態
6.6內插值Gouraud陰影和擴散照明
6.7創建3D應用程式
6.7.1調用模型
6.7.2設備初始化
6.7.3處理每幀的活動性
6.7.4渲染幀
6.8目前的程式代碼
6.9結束語
第7章鍵盤和遊戲桿輸入
7.1創建DirectInput對象
7.2獲取鍵盤、滑鼠或遊戲桿
7.3力反饋
7.3.1創建力
7.3.2創建DirectInput力
7.4結束語
第8章紋理
8.1紋理坐標
8.2創建紋理表面
8.3紋理管理
8.4紋理壓縮
8.4.1DXT格式
8.4.2使用DXT表面
8.5多紋理映射
8.5.1創建多紋理映射紋理
8.5.2訪問多紋理映射級別
8.5.3設定多紋理映射LOD偏移量
8.6紋理過濾
8.6.1最近點取樣
8.6.2線性紋理過濾
8.6.3各向異性的紋理過濾
8.6.4多紋理映射紋理過濾
8.7紋理接口指針
8.8紋理階段
8.9紋理混合
8.9.1多遍紋理混合
8.9.2單遍多紋理混合
8.9.3凸起花紋映射
8.10紋理定址模式
8.10.1框線顏色紋理定址模式
8.10.2夾持紋理定址模式
8.10.3鏡像紋理定址模式
8.10.4包裝紋理定址模式
8.11紋理包裝處理
8.12目前的程式代碼
8.13結束語
第9章霧化處理
9.1霧化處理公式
9.2創建霧化效果
9.3像素霧化
9.4目前的程式代碼
9.5結束語
第10章Alpha混合處理
10.1利用幀緩衝區混合
10.2特殊效果
10.2.1有霧環境中的發射對象
10.2.2鏡頭眩光
10.2.3照明圖
10.2.4有色玻璃
10.3Alpha測試
10.4顏色鍵控透明性
10.5Alpha可用的調色板化紋理
10.6利用Alpha的紋理階段
10.7遺留混合模式和紋理階段
10.8Alpha自左乘與非自左乘
10.9目前的程式代碼
10.10結束語
第11章照明映射和環境映射
11.1照明映射
11.1.1多遍紋理混合的照明映射
11.1.2紋理階段照明映射
11.2環境映射
11.2.1球形環境映射圖
11.2.2立方體環境映射圖
11.3目前的程式代碼
11.4結束語
第12章模板緩衝區
12.1創建模板緩衝區
12.2清除模板緩衝區
12.3配置模板處理狀態
12.4創建效果
12.4.1合成效果
12.4.2貼畫效果
12.4.3消融
12.4.4淡入淡出效果
12.4.5輪廓線效果
12.4.6側影效果
12.4.7滑入效果
12.4.8陰影效果
12.5ShadowVol和ShadowVo12演示程式
12.6目前的程式代碼
12.7結束語
第13章載入3D模型並為之添加動畫效果
13.1動畫角色
13.1.1分段式角色
13.1.2單格線角色
13.2載入和控制RoadRage模型
13.3目前的程式代碼
13.4結束語
第14章Direct3D應用程式的最佳化
14.1Direct3DFramework
14.2保存紋理記憶體
14.2.1AGP記憶體
14.2.2紋理映射圖壓縮
14.3增強3D效果
14.3.1多紋理處理
14.3.2三重緩衝
14.3.3真彩色渲染
14.4最佳化幾何圖形處理
14.4.1ComputeSphereVisibility
14.4.2頂點緩衝區
14.4.3批量處理DrawPrimitive調用
14.4.4浮點精度以及多執行緒SetCooperativeLevel標誌
14.4.5防護帶裁剪
14.4.6紋理類型提示
14.5資源最小化
14.5.1高成本狀態的變化
14.5.2多邊形
14.5.3紋理變化
14.5.4紋理記憶體
14.5.5可見方格
14.6結束語
第15章集成DirectPlay
15.1DirectPlay概念
15.2啟動
15.3MultiplayerConnect對話框
15.4MultiplayerGames對話框
15.5DirectPlay訊息
15.5.1向遊戲者傳送遊戲訊息
15.5.2結束遊戲
15.6目前的程式代碼
15.7結束語
第16章結束語
16.1遊戲
16.2模擬程式和虛擬現實
16.3一路順風,盡情陶醉吧!

相關詞條

熱門詞條

聯絡我們