directx3d編程基礎
⑴ 誰推薦幾本學習DirectX的書
《Direct3D游戲編程入門教程(第二版)》《Programming Role Playing Games with DirectX》
⑵ 用DirectX游戲編程,要學哪些內容
如果想DirectX游戲編程,而又有很多不清楚的問題,那請看這個:
1、 語言編程:c/c++;
2、 編程基礎一定要好:數據結構,c/c++語言;
2、 IDE集中開發環境:visual studio .net 2003;
3 、游戲開發SDK用DirectX9;
4、 Win32 api開始的時候不能學的太多;
5、 可以不用MFC(如果c++基礎好,MFC學起來很簡單);
6、 編網路游戲,使用winsock,通訊協議用TCP;
7、 多下載源代碼,觀看之;
8、 數學上的要求(其它基礎文化課類似):不需要了解演算法的來歷、推導等,但一定要知道它們是干什麼用的以及如何用;
9、 學習STL,必須C++要過關,否則會很難學。首先要學會如何用STL,再想深入的話,學習STL的內部代碼。STL首先從list,vector學起。
⑶ 怎麼學習DirectX3D游戲編程的基礎是(初中,中專,高中,大學以上)。
基本不需要太高的基礎
數學初中就差不多了
不過3D需要一點線性代數和離散數學
但是並不需要解題那麼高的要求,能夠理解即可
⑷ 請問《DirectX 9.0 3D游戲開發編程基礎》 前提C++要熟悉到什麼程度
光基礎語法肯定不夠。
類的繼承、虛函數。
模板(這個要求不高,大致知道函數怎麼使用,模板特化之類的概念就好)。
STL大概也要有些了解。
至於Windows編程,有關聯,但是在實踐這本書時不是重點,跟著書上走就行。
最好C++ primer放旁邊,看到不懂的就去補習下知識點。(C++ primer裡面知識點比較全面,如果缺少C++實踐經驗,推薦翻翻這本書最後兩章的內存管理、異常、命名空間那幾節,不用全看,實踐時哪裡不懂翻哪裡)
重點是跟著實踐,如果光看十有八九看不懂,那自己敲下代碼至少能多理解一兩成。
還有一點是Visual Studio的,很多新手不熟悉IDE,頭文件庫文件不知道怎麼加,往往第一個問題就是:書上的代碼怎麼編譯不過·····
⑸ DirectX9.03D游戲開發編程基礎的目錄
第Ⅰ部分 基礎知識
必備的數學知識
3D空間中的向量
矩陣
基本變換
平面(選讀)
射線(選讀)
小結
第Ⅱ部分 Direct3D基礎
第1章 初始化Direct3D
1.1 Direct3D概述
1.2 COM(組件對象模型)
1.3 預備知識
1.4 Direct3D的初始化
1.5 常式:Direct3D的初始化
1.6 小結
第2章 繪制流水線
2.1 模型表示
2.2 虛擬攝像機
........
⑹ DirectX 3D編程入門教程
你可以先去【繪學霸】網站找「3d建模」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y04r-182987840
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y04r-182987840
在「3d建模」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
⑺ 《DirectX 9.0 3D游戲開發編程基礎》這本書里的介紹的數學知識在3D游戲製作中夠用了嗎
個人感覺啊,說實話,這類書籍不是給想從事游戲開發的人看的,而是給那些想成為游戲引擎開發者看的。現代的大型游戲開發,算是一種高層開發,就類似於我們用word寫文檔,游戲開發人員就是使用word來自定義自己文檔的人,而游戲引擎開發者就像微軟的編程師一樣,是用代碼從無到有來實現word文檔編輯器的人。
現代游戲開發,效率很重要,你可以想像一下,利用你書中所學知識,完全使用編程代碼去開發一個使命召喚,需要多長時間?可能一個人物建模就夠你忙個半個月,還有後期CG,特效,事件觸發等等,時間就不止現在一年一部使命召喚了。
⑻ DirectX 9.0 3D游戲開發編程基礎 讀後感
DirectX 9.0 3D游戲開發編程基礎 內容提要:
本書主要介紹如何使用DirectX 9.0開發互動式3D圖形程序,重點是游戲開發。全書首先介紹了必要的數學工具,然後講解了相關的3D概念。其他主題幾乎涵蓋了Direct3D中的所有基本運算,例如圖元的繪制、光照、紋理、Alpha融合、模板,以及如何使用Direct3D實現游戲中所需的技術。介紹頂定點著色器和像素著色器的章節(包含了效果框架和新的高級著色語言的內容)對這些關鍵運算進行了較為集中的討論。
本書內容深入淺出,內容廣泛,可供從事3D游戲程序設計、可視化系統設計或其他圖形應用程序開發的開發人員和大中專院校學生參考,也極適合各種游戲開發培訓機構作為Direct3D編程的培訓教程。
DirectX 9.0 3D游戲開發編程基礎 讀後感:
第Ⅰ部分 基礎知識
必備的數學知識 3
3D空間中的向量 3
向量相等 7
計算向量的長度 7
向量的規范化 8
向量加法 9
向量減法 9
數乘 10
點積 11
叉積 11
矩陣 12
矩陣相等、矩陣數乘和矩陣加法 13
矩陣乘法 14
單位矩陣 15
逆矩陣 15
矩陣的轉置 16
D3DX矩陣 16
基本變換 19
平移矩陣 20
旋轉矩陣 21
比例變換矩陣 23
幾何變換的組合 24
向量變換的一些函數 25
平面(選讀) 26
D3DXPLANE 27
點和平面的空間關系 27
平面的創建 28
平面的規范化 29
平面的變換 29
平面中到某一點的最近點 30
射線(選讀) 31
射線 31
射線與平面的相交 32
小結 32
第Ⅱ部分 Direct3D基礎
第1章 初始化Direct3D 37
1.1 Direct3D概述 37
1.1.1 REF設備 38
1.1.2 D3DDEVTYPE 38
1.2 COM(組件對象模型) 38
1.3 預備知識 39
1.3.1 表面 39
1.3.2 多重采樣 41
1.3.3 像素格式 42
1.3.4 內存池 42
1.3.5 交換鏈和頁面置換 43
1.3.6 深度緩存 44
1.3.7 頂點運算 45
1.3.8 設備性能 45
1.4 Direct3D的初始化 46
1.4.1 獲取介面IDirect3D9的指針 47
1.4.2 校驗硬體頂點運算 47
1.4.3 填充D3DPRESENT_
PARAMETER結構 48
1.4.4 創建IDirect3DDevice9
介面 50
1.5 常式:Direct3D的初始化 51
1.5.1 d3dUtility.h/cpp 52
1.5.2 常式框架 53
1.5.3 常式:D3D初始化 54
1.6 小結 56
第2章 繪制流水線 58
2.1 模型表示 59
2.1.1 頂點格式 60
2.1.2 三角形單元 60
2.1.3 索引 61
2.2 虛擬攝像機 62
2.3 繪制流水線 63
2.3.1 局部坐標系 64
2.3.2 世界坐標系 64
2.3.3 觀察坐標系 65
2.3.4 背面消隱 67
2.3.5 光照 68
2.3.6 裁剪 68
2.3.7 投影 69
2.3.8 視口變換 70
2.3.9 光柵化 72
2.4 小結 72
第3章 Direct3D中的繪制 73
3.1 頂點緩存與索引緩存 73
3.1.1 創建頂點緩存和索引緩存 73
3.1.2 訪問緩存內容 76
3.1.3 獲取頂點緩存和
索引緩存的信息 77
3.2 繪制狀態 78
3.3 繪制的准備工作 78
3.4 使用頂點緩存和索引緩存進行繪制 79
3.4.1 IDirect3DDevice9::
DrawPrimitive 79
3.4.2 IDirect3DDevice9::
DrawIndexedPrimitive 80
3.4.3 Begin/End Scene 81
3.5 D3DX幾何體 81
3.6 常式:三角形、立方體、
茶壺、D3DXCreate* 83
3.7 小結 87
第4章 顏色 89
4.1 顏色表示 89
4.2 頂點顏色 92
4.3 著色 92
4.4 常式:具有顏色的三角形 93
4.5 小結 95
第5章 光照 97
5.1 光照的組成 97
5.2 材質 98
5.3 頂點法線 100
5.4 光源 102
5.5 常式:光照 105
5.6 一些附加常式 108
5.7 小結 108
第6章 紋理映射 109
6.1 紋理坐標 110
6.2 創建並啟用紋理 111
6.3 紋理過濾器 112
6.4 多級漸進紋理 113
6.4.1 多級漸進紋理過濾器 114
6.4.2 使用多級漸進紋理 114
6.5 定址模式 114
6.6 常式:紋理四邊形 116
6.7 小結 118
第7章 融合技術 119
7.1 融合方程 119
7.2 融合因子 121
7.3 透明度 122
7.3.1 Alpha通道 122
7.3.2 指定Alpha來源 123
7.4 用DirectX Texture Tool
創建Alpha通道 123
7.5 常式:透明效果 125
7.6 小結 127
第8章 模板 128
8.1 模板緩存的使用 129
8.1.1 模板緩存格式的查詢 129
8.1.2 模板測試 130
8.1.3 模板測試的控制 130
8.1.4 模板緩存的更新 132
8.1.5 模板寫掩碼 132
8.2 常式:鏡面效果 133
8.2.1 成像中的數學問題 133
8.2.2 鏡面效果實現概述 134
8.2.3 代碼解析 135
8.3 常式:Planer Shadows 139
8.3.1 平行光陰影 139
8.3.2 點光源產生的陰影 140
8.3.3 陰影矩陣 141
8.3.4 使用模板緩存
防止二次融合 142
8.3.5 代碼解析 143
8.4 小結 144
第Ⅲ部分 Direct3D的應用
第9章 字體 149
9.1 ID3DXFont介面 149
9.1.1 創建一個ID3DXFont
介面對象 149
9.1.2 繪制文本 150
9.1.3 計算每秒繪制的幀數 151
9.2 CD3DFont 152
9.2.1 創建CD3DFont類的實例 152
9.2.2 繪制文本 152
9.2.3 清理 153
9.3 D3DXCreateText函數 153
9.4 小結 155
第10章 網格(一) 156
10.1 幾何信息 156
10.2 子集和屬性緩存 157
10.3 繪制 159
10.4 網格優化 159
10.5 屬性表 161
10.6 鄰接信息 163
10.7 克隆 164
10.8 創建網格(D3DXCreateMeshFVF) 165
10.9 常式:網格的創建與繪制 167
10.10 小結 172
第11章 網格(二) 174
11.1 ID3DXBuffer 174
11.2 XFile 175
11.2.1 載入XFile文件 175
11.2.2 XFile材質 176
11.2.3 常式:XFile 177
11.2.4 生成頂點法線 180
11.3 漸進網格 181
11.3.1 生成漸進網格 182
11.3.2 頂點屬性權值 183
11.3.3 ID3DXPMesh介面方法 183
11.3.4 常式:Progressive Mesh 184
11.4 外接體 187
11.4.1 一些新的特殊常量 189
11.4.2 外接體的類型 189
11.4.3 常式:Bounding Volumes 190
11.5 小結 192
第12章 設計一個靈活的
Camera類 193
12.1 Camera類的設計 193
12.2 實現細節 195
12.2.1 觀察矩陣(取景變換矩陣,
View Matrix)的計算 195
12.2.2 繞任意軸的旋轉 198
12.2.3 俯仰、偏航和滾動 199
12.2.4 行走、掃視和升降 201
12.3 常式:Camera 202
12.4 小結 205
第13章 地形繪制基礎 206
13.1 高度圖 207
13.1.1 創建高度圖 207
13.1.2 載入RAW文件 208
13.1.3 訪問和修改高度圖 209
13.2 創建地形幾何信息 210
13.2.1 頂點的計算 212
13.2.2 索引的計算 214
13.3 紋理映射 216
13.4 光照 219
13.4.1 概述 219
13.4.2 坐標方格的明暗度計算 220
13.4.3 對地形進行著色 222
13.5 在地形中「行走」 222
13.6 常式:Terrain 226
13.7 一些改進 228
13.8 小結 229
第14章 粒子系統 230
14.1 粒子和點精靈 230
14.1.1 結構格式 230
14.1.2 點精靈的繪制狀態 231
14.1.3 粒子及其屬性 233
14.2 粒子系統的組成 234
14.2.1 繪制一個粒子系統 238
14.2.2 隨機性 243
14.3 具體的粒子系統 243
14.3.1 常式:Snow System 244
14.3.2 常式:Firework 246
14.3.3 常式:Particle Gun 248
14.4 小結 250
第15章 拾取 251
15.1 屏幕到投影窗口的變換 253
15.2 拾取射線的計算 254
15.3 對射線進行變換 255
15.4 射線/物體相交判定 256
15.5 常式:Picking 258
15.6 小結 259
第Ⅳ部分 著色器和效果
第16章 高級著色語言(HLSL)入門 263
16.1 HLSL著色器程序的編制 264
16.1.1 全局變數 266
16.1.2 輸入和輸出結構 266
16.1.3 入口函數 267
16.2 HLSL著色器程序的編譯 268
16.2.1 常量表 268
16.2.2 HLSL著色器程序的編譯 272
16.3 變數類型 274
16.3.1 標量類型 274
16.3.2 向量類型 274
16.3.3 矩陣類型 275
16.3.4 數組 277
16.3.5 結構體 277
16.3.6 關鍵字typedef 277
16.3.7 變數的前綴 278
16.4 關鍵字、語句及類型轉換 279
16.4.1 關鍵字 279
16.4.2 基本程序流程 279
16.4.3 類型轉換 280
16.5 運算符 281
16.6 用戶自定義函數 282
16.7 內置函數 284
16.8 小結 286
第17章 頂點著色器入門 287
17.1 頂點聲明 288
17.1.1 頂點聲明的描述 288
17.1.2 頂點聲明的創建 291
17.1.3 頂點聲明的啟用 291
17.2 頂點數據的使用 291
17.3 使用頂點著色器的步驟 293
17.3.1 頂點著色器的編寫與編譯 294
17.3.2 頂點著色器的創建 294
17.3.3 頂點著色器的設置 294
17.3.4 頂點著色器的銷毀 295
17.4 常式:Diffuse Lighting 295
17.5 常式:Cartoon Rendering 302
17.5.1 卡通著色 303
17.5.2 卡通著色的頂點
著色器代碼 304
17.5.3 輪廓的勾勒 307
17.5.4 實現輪廓勾勒的
頂點著色器代碼 310
17.6 小結 312
第18章 像素著色器入門 313
18.1 多重紋理概述 313
18.1.1 啟用多重紋理 315
18.1.2 多重紋理坐標 316
18.2 像素著色器的輸入和輸出 317
18.3 使用像素著色器的步驟 318
18.3.1 像素著色器的編寫和編譯 318
18.3.2 像素著色器的創建 318
18.3.3 像素著色器的設置 319
18.3.4 像素著色器的銷毀 319
18.4 HLSL采樣器對象 319
18.5 常式:像素著色器中的多重紋理 321
18.6 小結 329
第19章 效果框架 331
19.1 手法與路徑 331
19.2 更多HLSL的內置對象 333
19.2.1 紋理對象 333
19.2.2 采樣器對象與采樣器狀態 333
19.2.3 頂點著色器對象和
像素著色器對象 334
19.2.4 字元串 335
19.2.5 注釋 335
19.3 效果文件中的設備狀態 336
19.4 創建一種效果 337
19.5 常量的設置 338
19.6 使用一種效果 340
19.6.1 效果句柄的獲取 341
19.6.2 效果的激活 341
19.6.3 效果的啟用 341
19.6.4 當前繪制路徑的設置 342
19.6.5 效果的終止 342
19.6.6 一個例子 342
19.7 常式:效果文件中的光照和紋理 343
19.8 常式:霧效 349
19.9 常式:卡通效果 352
19.10 EffectEdit 353
19.11 小結 354
⑼ 本人是一個老程序員,目前想學習3D編程,請問3D方面的基礎知識可以看哪本書不拘泥於編程語言,求經典。
1、WINDOWS 3D編程
《WINDOWS 3D編程》主要內容:Learn to create 3D graphics for Windows-from programming legend Charles Petzold.Get a focused introction to programming 3D graphics with the Windows Presentation Foundation 3D API. Complementing his book Applications =Code + Markup, award-winning author Charles Petzold builds on XAML essentials, teaching you how to display and animate 3D graphics under the Microsoft .NET Framework 3.0 and Windows VistaTM. You'll get expert guidance and code samples in XAML and Microsoft Visual C#-helping you master the skills you need to create high-fidelity user interfaces.
Discover how to:
Define complex 3D obiects with triangle meshes
Enhance the illumination of 3D surfaces with light and shading effects
Color 3D figures with gradients, bitmaps, and drawings
Add animation with transforms and vertex manipulation
Represent linear, affine, and camera transforms by using matrices
Calculate vector angles, angles of rotation, and axes of rotation
Generate triangle meshes efficiently by using C# code
Express rotation by using quaternion computation
Provide a user interface for manipulating and drawing 3D figures
目錄
--------------------------------------------------------------------------------
1 Lights! Camera! Mesh Geometries!
Sorting Out the Classes
2 Transforms and Animation
3 Axis/Angle Rotation
4 Light and Shading
SpotLight and PointLight
5 Texture and Materials
6 Algorithmic Mesh Geometries
7 Matrix Transforms
8 Quaternions
9 Applications and Curiosa
/******************************************************************************************************************/
2、java 3d編程實踐:網路上的三維動畫
目錄:
第1章 全世界都能看到的三維動畫
1. 1 初識java 3d
1. 1. 1 網路時代需要java 3d
1. 1. 2 java 3d是什麼
1. 1. 3 java 3d的應用場合舉例
1. 2 java 3d運行及開發環境的安裝
1. 2. 1 最新版java 3d的安裝
1. 2. 2 老版本的安裝步驟
1. 3 體驗java 3d編程
1. 3. 1 第一個java 3d程序:hello
1. 3. 2 java 3d的編程思想
1. 4 在網上發布java 3d程序
1. 5 java 3d的網路資源和學習資料
1. 5. 1 主要網站
1. 5. 2 各種文檔
1. 5. 3 軟體資源
第2章 基本形體的生成
2. 1 基本立體形體的生成
2. 1. 1 從一個簡單的程序說起
2. 1. 2 創建場景圖
2. 1. 3 高層java 3d類
2. 1. 4 編寫java 3d程序的一般步驟
2. 1. 5 激活和編譯
2. 1. 6 內容子圖的創建
2. 1. 7 mycone程序中使用的java 3d類
2. 1. 8 幾何體工具類
2. 1. 9 高級主題:基本幾何體
2. 1. 10 能力和性能
2. 2 點. 線. 面的生成
2. 2. 1 幾何體類
2. 2. 2 點的生成
2. 2. 3 直線的生成
2. 2. 4 面的生成
2. 3 曲面的可視化
2. 4 2d和3d文本的生成
2. 4. 1 2d文本的生成
2. 4. 2 3d文本的生成
2. 5 appearance. shape3d和bounds對象的使用
2. 5. 1 appearance對象
2. 5. 2 shape3d對象
2. 5. 3 bounds對象
第3章 形體的組合
3. 1 形體的分組
3. 1. 1 group對象
3. 1. 2 branchgroup對象和orderedgroup對象
3. 1. 3 decalgroup對象
3. 1. 4 switch對象
3. 1. 5 sharedgroup對象
3. 2 幾何變換
3. 2. 1 transformg
/*********************************************************************************************************/
3、Directx 3D 游戲編程實用教程
目錄
--------------------------------------------------------------------------------
第一篇 d游戲編程基礎
第1章 windows編程基礎
1.1 簡單的windows應用程序
1.1.1 創建windows應用程序項目
1.1.2 配置、生成及運行項目
1.2 windows應用程序結構
1.2.1 數據類型
1.2.2 入口函數
1.2.3 注冊窗口類
1.2.4 創建並顯示窗口
1.3 windows消息機制
1.3.1 消息隊列
1.3.2 消息循環
1.3.3 消息處理
1.4 匈牙利命名法
1.4.1 類型和常量的命名
1.4.2 變數的命名
1.4.3 函數和參數的命名
1.4.4 類的命名
1.5 本章小結
第2章 direct3d編程基礎
2.1 directx概述
2.1.1 directx的發展過程
2.1.2 directx的組成部分
2.1.3 direct3d與com
2.1.4 direct3d介面對象
2.2 direct3d渲染流水線
2.2.1 渲染流水線
2.2.2 靈活頂點格式
2.2.3 d3d中的顏色
2.2.4 d3d中的圖元
2.3 direct3d程序結構
2.3.1 簡單的direct3d應用程序
2.3.2 創建direct3d介面對象
2.3.3 獲取硬體設備信息
2.3.4 創建direct3d設備介面
2.3.5 開始direct3d圖形繪制
2.3.6 結束並清理對象資源
2.4 頂點緩存
2.4.1 創建頂點緩存
2.4.2 訪問頂點緩存
2.4.3 使用頂點緩存繪制圖形
2.4.4 頂點緩存的繪制示例
2.5 索引緩存
2.5.1 創建索引緩存
2.5.2 訪問索引緩存
2.5.3 使用索引緩存繪制圖形
2.5.4 索引緩存的繪制示例
2.6 direct3d渲染狀態
2.6.1 剔除狀態
2.6.2 著色狀態
2.6.3 填充狀態
2.7 本章小結
第3章 基本的數學基礎
3.1 坐標空間
3.1.1 d笛卡兒坐標系
3.1.2 多坐標系統
3.2 向量
3.2.1 向量的基本概念
3.2.2 向量的基本運算
3.2.3 d3d中的向量
3.3 矩陣
3.3.1 矩陣的基本概念
3.3.2 矩陣的基本運算
3.3.3 矩陣的基本變換
3.3.4 d3d中的矩陣
3.4 平面及射線
3.4.1 平面的定義
3.4.2 點與平面的關系
3.4.3 射線的定義
3.4.4 射線與平面的關系
3.5 空間坐標變換
3.5.1 世界變換
3.5.2 取景變換
3.5.3 投影變換
3.5.4 視口變換
3.6 空間坐標變換示例
3.7 本章小結
第二篇 d游戲圖形渲染
第4章 光照與材質
4.1 光照模型
4.1.1 環境光
4.1.2 漫反射光
4.1.3 鏡面反射光
4.2 光源類型
4.2.1 點光源
4.2.2 方向光
4.2.3 聚光燈
4.3 物體的材質
4.3.1 d3d材質
4.3.2 頂點法線
4.4 光照與材質示例
4.5 本章小結
第5章 紋理映射
5.1 紋理映射基礎
5.1.1 紋理坐標
5.1.2 創建紋理
5.1.3 啟用紋理
5.1.4 創建紋理示例
5.2 紋理過濾
5.2.1 最近點采樣過濾
5.2.2 線性紋理過濾
5.2.3 各向異性過濾
5.2.4 多級漸進過濾
5.2.5 紋理過濾示例
5.3 紋理定址
5.3.1 重復定址
5.3.2 鏡像定址
5.3.3 夾取定址
5.3.4 邊框顏色定址
5.3.5 紋理定址示例
5.4 紋理包裝
5.4.1 紋理包裝原理
5.4.2 紋理包裝示例
5.5 本章小結
第6章 網格模型
6.1 網格模型基礎
6.1.1 網格的子集及屬性
6.1.2 網格的鄰接信息
6.1.3 網格的創建及繪制
6.1.4 創建及繪制網格示例
6.2 網格的優化及克隆
6.2.1 優化網格
6.2.2 克隆網格
6.3 x文件格式分析
6.3.1 模板的定義
6.3.2 常用的模板類型
6.3.3 x文件的結構
6.4 從x文件創建網格
6.4.1 載入網格模型數據
6.4.2 獲取紋理和材質信息
6.4.3 繪制網格模型
6.4.4 讀取x文件示例
6.5 創建漸進網格模型
6.5.1 id3dxpmesh介面
6.5.2 創建並繪制漸進網格
6.5.3 創建漸進網格示例
6.6 d3d中的幾何體
6.7 本章小結
第7章 深度、融合及模板
7.1 深度測試
7.1.1 深度緩存
7.1.2 深度測試
7.1.3 深度測試示例
7.2 融合技術
7.2.1 融合因子
7.2.2 alpha來源
7.2.3 啟用alpha融合
7.2.4 alpha融合示例
7.3 模板技術
7.3.1 模板緩存
7.3.2 模板測試
7.3.3 更新模板緩存
7.4 鏡面效果
7.4.1 鏡面成像原理
7.4.2 實現鏡面效果
7.5 本章小結
第8章 hlsl語言基礎
8.1 hlsl概述
8.1.1 可編程管線
8.1.2 hlsl工作模型
8.2 簡單的hlsl程序
8.2.1 編寫hlsl代碼
8.2.2 hlsl關鍵字和保留字
8.2.3 hlsl預處理指令
8.2.4 輸入、輸出結構
8.2.5 hlsl入口函數
8.3 hlsl基本語法
8.3.1 hlsl中的變數
8.3.2 hlsl中的函數
8.4 d3d與hlsl交互
8.4.1 編譯著色器程序
8.4.2 獲取常量的句柄
8.4.3 設置常量的值
8.5 hlsl程序示例
8.6 本章小結
第9章 著色器與效果
9.1 頂點著色器
9.1.1 創建頂點聲明
9.1.2 使用頂點著色器
9.1.3 頂點著色器示例
9.2 漸變動畫效果
9.2.1 漸變動畫原理
9.2.2 實現漸變動畫
9.3 像素著色器
9.3.1 創建像素著色器
9.3.2 使用像素著色器
9.4 多重紋理混合
9.4.1 hlsl采樣器
9.4.2 多重紋理坐標
9.4.3 啟用多重紋理
9.4.4 多重紋理示例
9.5 效果框架
9.5.1 通道與手法
9.5.2 著色器內置對象
9.5.3 效果中的渲染狀態
9.5.4 創建效果框架
9.5.5 效果中常量的設置
9.5.6 使用效果框架
9.5.7 效果框架示例
9.6 本章小結
第三篇 d游戲輸入控制
第10章 directx輸入控制
10.1 directinput介面
10.2 使用directinput介面
10.2.1 directinput的初始化
10.2.2 創建設備介面對象
10.2.3 設置數據格式
10.2.4 設置協作級別
10.2.5 設置特殊屬性
10.2.6 獲取、輪詢設備
10.2.7 讀取設備數據
10.3 使用directinput處理鍵盤
10.3.1 初始化鍵盤設備介面
10.3.2 獲取輸入的鍵盤數據
10.3.3 鍵盤輸入控制示例
10.4 使用directinput處理滑鼠
10.4.1 在d3d中移動滑鼠
10.4.2 初始化滑鼠設備介面
10.4.3 獲取滑鼠的移動位置
10.4.4 滑鼠輸入控制示例
10.5 使用directinput處理游戲桿
10.5.1 游戲桿及其控制原理
10.5.2 初始化游戲桿設備介面
10.5.3 讀取游戲桿的狀態數據
10.5.4 游戲桿輸入控制示例
10.6 本章小結
第四篇 d游戲應用編程
第11章 攝像機、地形及天空
11.1 虛擬攝像機
11.1.1 攝像機的屬性
11.1.2 攝像機的變換
11.1.3 攝像機的實現
11.1.4 攝像機應用示例
11.2 三維地形系統
11.2.1 地形高度圖
11.2.2 頂點的計算
11.2.3 索引的計算
11.2.4 地形的繪制
11.2.5 地形類的實現
11.2.6 地形繪制示例
11.3 球形天空頂
11.3.1 頂點的計算
11.3.2 索引的計算
11.3.3 天空的繪制
11.3.4 天空類的實現
11.3.5 天空繪制示例
11.4 本章小結
第12章 文字、拾取及碰撞檢測
12.1 字體及文本繪制
12.1.1 繪制2d文本
12.1.2 繪制3d文本
12.1.3 文本繪制示例
12.2 拾取技術
12.2.1 網格外接體
12.2.2 拾取技術原理
12.2.3 拾取應用示例
12.3 碰撞檢測
12.3.1 邊界球碰撞檢測
12.3.2 aabb碰撞檢測
12.3.3 obb樹碰撞檢測
12.3.4 aabb碰撞檢測示例
12.4 本章小結
第13章 骨骼動畫
13.1 x文件中的骨骼信息
13.1.1 骨骼蒙皮信息
13.1.2 骨骼層次信息
13.1.3 模型動畫信息
13.2 載入骨骼動畫數據
13.2.1 擴展結構體
13.2.2 載入x文件
13.2.3 callocatehierarchy類
13.2.4 生成蒙皮網格
13.3 頂點混合技術
13.3.1 頂點混合原理
13.3.2 索引頂點混合
13.4 骨骼動畫的繪制
13.4.1 開啟頂點混合
13.4.2 更新骨骼矩陣
13.4.3 繪制骨骼動畫
13.5 骨骼動畫控制器
13.5.1 使用動畫控制器
13.5.2 平滑過渡動畫集
13.6 骨骼動畫示例
13.7 本章小結
第14章 實時陰影
14.1 平面陰影的原理
14.1.1 點光源平面陰影
14.1.2 方向光平面陰影
14.2 平面陰影的實現
14.2.1 計算陰影矩陣
14.2.2 平面陰影的繪制
14.2.3 平面陰影示例
14.3 體積陰影的原理
14.3.1 模型陰影體
14.3.2 陰影錐的計算
14.4 體積陰影的實現
14.4.1 體積陰影的繪制
14.4.2 體積陰影示例
14.5 陰影貼圖的原理
14.6 本章小結
第15章 廣告牌技術與粒子系統
15.1 廣告牌技術
15.1.1 廣告牌的原理
15.1.2 廣告牌的實現
15.1.3 廣告牌示例
15.2 粒子系統
15.2.1 粒子系統的原理
15.2.2 粒子系統的實現
15.2.3 粒子系統的更新
15.2.4 粒子系統的繪制
15.3 粒子系統示例
15.3.1 煙花示例
15.3.2 噴泉示例
15.4 本章小結
第16章 霧化及lod地形
16.1 霧化效果
16.1.1 霧化混合因子
16.1.2 頂點霧化
16.1.3 像素霧化
16.1.4 范圍霧化
16.2 lod地形原理
16.2.1 lod四叉樹演算法
16.2.2 lod地形的實現
16.2.3 節點剔除原理
16.2.4 節點簡化准則
16.2.5 地形裂縫的處理
16.2.6 地形的更新及繪制
16.3 lod地形示例
16.4 本章小結
第五篇 d游戲音頻輸出
第17章 direct3d音頻控制
17.1 音頻文件格式
17.1.1 音頻的基本概念
17.1.2 wav音頻格式
17.1.3 midi音頻格式
17.1.4 mp3音頻格式
17.2 使用directsound處理音頻
17.2.1 directsound的結構
17.2.2 directsound的初始化
17.2.3 directsound音頻緩沖
17.2.4 向緩沖區中寫入數據
17.2.5 播放聲音及音頻控制
17.2.6 用directsound反饋信息
17.2.7 directsound應用示例
17.3 使用directmusic處理音頻
17.3.1 directmusic的結構
17.3.2 開始使用directmusic
17.3.3 載入、操作midi段
17.3.4 directmusic應用示例
17.4 使用directshow處理音頻
17.4.1 directshow的工作原理
17.4.2 directshow的初始化
17.4.3 載入流媒體數據
17.4.4 控制流媒體的播放
17.4.5 directshow應用示例
17.5 本章小結
第六篇 d游戲網路通信
第18章 direct3d網路控制
18.1 了解網路互聯
18.1.1 網路會話模型
18.1.2 定址與通信協議
18.2 directplay概述
18.2.1 創建和管理會話
18.2.2 directplay傳輸協議
18.2.3 directplay網路對象
18.2.4 玩家與游戲大廳
18.3 客戶/服務會話
18.3.1 初始化網路對象
18.3.2 選擇服務提供者
18.3.3 使用directplay地址
18.3.4 建立客戶/服務會話
18.3.5 發送、接收數據
18.3.6 創建並使用分組
18.3.7 結束及終止會話
18.4 游戲大廳的支持
18.4.1 游戲大廳的結構
18.4.2 實現游戲大廳客戶端
18.4.3 實現支持大廳的程序
18.5 客戶/服務會話示例
18.5.1 創建服務端程序
18.5.2 創建客戶端程序
18.6 本章小結
附 錄
附錄a directx9 sdk的安裝與配置
a.1 安裝directx
a.2 配置開發環境
a.3 瀏覽directx示例
附錄b dxut程序框架介紹
b.1 創建dxut項目
b.2 dxut框架的初始化
b.3 創建應用程序窗口
b.4 創建direct3d設備
b.5 dxut的事件處理
b.5.1 框架事件
b.5.2 設備事件
b.5.3 消息事件
b.6 dxut的錯誤處理
⑽ 《DirectX 9.0 3D游戲開發編程基礎》這本書的例子里有個問題不明白
你理解的深度沒錯,就是像素距像機的距離
先看一種最容易理解的情況,壺在鏡前,像機在壺後,拍照.
然後,像機轉到鏡後鏡像位置,對壺拍照(只渲染壺)
可見,鏡中壺比真壺深度要大,比鏡子也大(紙上畫畫就知)
但鏡子范圍像素是被特殊標記,深度運算時鏡壺顯現鏡外過濾了
若如你說,豈不是鏡外也可看見了?