注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)圖形圖像、多媒體、網(wǎng)頁制作DirectorDirectX 9.0 3D游戲開發(fā)編程基礎(chǔ)

DirectX 9.0 3D游戲開發(fā)編程基礎(chǔ)

DirectX 9.0 3D游戲開發(fā)編程基礎(chǔ)

定 價:¥46.00

作 者: (美)Frank D.Luna 著,(美)Rod Lopez 技術(shù)審校,段菲 譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: Director

ISBN: 9787302130253 出版時間: 2007-04-01 包裝: 膠版紙
開本: 185*230 頁數(shù): 373 字?jǐn)?shù):  

內(nèi)容簡介

  本書主要介紹如何使用DirectX 9.0開發(fā)交互式3D圖形程序,重點是游戲開發(fā)。全書首先介紹了必要的數(shù)學(xué)工具,然后講解了相關(guān)的3D概念。其他主題幾乎涵蓋了Direct3D中的所有基本運(yùn)算,例如圖元的繪制、光照、紋理、Alpha融合、模板,以及如何使用Direct3D實現(xiàn)游戲中所需的技術(shù)。介紹頂定點著色器和像素著色器的章節(jié)(包含了效果框架和新的高級著色語言的內(nèi)容)對這些關(guān)鍵運(yùn)算進(jìn)行了較為集中的討論。本書內(nèi)容深入淺出,內(nèi)容廣泛,可供從事3D游戲程序設(shè)計、可視化系統(tǒng)設(shè)計或其他圖形應(yīng)用程序開發(fā)的開發(fā)人員和大中專院校學(xué)生參考,也極適合各種游戲開發(fā)培訓(xùn)機(jī)構(gòu)作為Direct3D編程的培訓(xùn)教程。

作者簡介

  Prank Luna是Hero lnteractive的程序員,從事交互式3D圖形編程已有八年多。他最早接觸DirectX可以追溯到DirectX5發(fā)布之時,目前居住在加州的洛杉磯市。

圖書目錄

第Ⅰ部分  基礎(chǔ)知識

必備的數(shù)學(xué)知識    3
3D空間中的向量    3
向量相等    7
計算向量的長度    7
向量的規(guī)范化    8
向量加法    9
向量減法    9
數(shù)乘    10
點積    11
叉積    11
矩陣        12
矩陣相等、矩陣數(shù)乘和矩陣加法    13
矩陣乘法    14
單位矩陣    15
逆矩陣        15
矩陣的轉(zhuǎn)置    16
D3DX矩陣    16
基本變換    19
平移矩陣    20
旋轉(zhuǎn)矩陣    21
比例變換矩陣    23
幾何變換的組合    24
向量變換的一些函數(shù)    25
平面(選讀)    26
D3DXPLANE    27
點和平面的空間關(guān)系    27
平面的創(chuàng)建    28
平面的規(guī)范化    29
平面的變換    29
平面中到某一點的最近點    30
射線(選讀)    31
射線    31
射線與平面的相交    32
小結(jié)        32
  

第Ⅱ部分  Direct3D基礎(chǔ)

第1章  初始化Direct3D    37
1.1  Direct3D概述    37
1.1.1  REF設(shè)備    38
1.1.2  D3DDEVTYPE    38
1.2  COM(組件對象模型)    38
1.3  預(yù)備知識    39
1.3.1  表面    39
1.3.2  多重采樣    41
1.3.3  像素格式    42
1.3.4  內(nèi)存池    42
1.3.5  交換鏈和頁面置換    43
1.3.6  深度緩存    44
1.3.7  頂點運(yùn)算    45
1.3.8  設(shè)備性能    45
1.4  Direct3D的初始化    46
1.4.1  獲取接口IDirect3D9的指針    47
1.4.2  校驗硬件頂點運(yùn)算    47
1.4.3  填充D3DPRESENT_
PARAMETER結(jié)構(gòu)    48
1.4.4  創(chuàng)建IDirect3DDevice9
接口    50
1.5  例程:Direct3D的初始化    51
1.5.1  d3dUtility.h/cpp    52
1.5.2  例程框架    53
1.5.3  例程:D3D初始化    54
1.6  小結(jié)    56
第2章  繪制流水線    58
2.1  模型表示    59
2.1.1  頂點格式    60
2.1.2  三角形單元    60
2.1.3  索引    61
2.2  虛擬攝像機(jī)    62
2.3  繪制流水線    63
2.3.1  局部坐標(biāo)系    64
2.3.2  世界坐標(biāo)系    64
2.3.3  觀察坐標(biāo)系    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  小結(jié)    72
第3章  Direct3D中的繪制    73
3.1  頂點緩存與索引緩存    73
3.1.1  創(chuàng)建頂點緩存和索引緩存    73
3.1.2  訪問緩存內(nèi)容    76
3.1.3  獲取頂點緩存和
索引緩存的信息    77
3.2  繪制狀態(tài)    78
3.3  繪制的準(zhǔn)備工作    78
3.4  使用頂點緩存和索引緩存進(jìn)行繪制    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  小結(jié)    87
第4章  顏色    89
4.1  顏色表示    89
4.2  頂點顏色    92
4.3  著色    92
4.4  例程:具有顏色的三角形    93
4.5  小結(jié)    95
第5章  光照    97
5.1  光照的組成    97
5.2  材質(zhì)    98
5.3  頂點法線    100
5.4  光源    102
5.5  例程:光照    105
5.6  一些附加例程    108
5.7  小結(jié)    108
第6章  紋理映射    109
6.1  紋理坐標(biāo)    110
6.2  創(chuàng)建并啟用紋理    111
6.3  紋理過濾器    112
6.4  多級漸進(jìn)紋理    113
6.4.1  多級漸進(jìn)紋理過濾器    114
6.4.2  使用多級漸進(jìn)紋理    114
6.5  尋址模式    114
6.6  例程:紋理四邊形    116
6.7  小結(jié)    118
第7章  融合技術(shù)    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
創(chuàng)建Alpha通道    123
7.5  例程:透明效果    125
7.6  小結(jié)    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  成像中的數(shù)學(xué)問題    133
8.2.2  鏡面效果實現(xiàn)概述    134
8.2.3  代碼解析    135
8.3  例程:Planer Shadows    139
8.3.1  平行光陰影    139
8.3.2  點光源產(chǎn)生的陰影    140
8.3.3  陰影矩陣    141
8.3.4  使用模板緩存
防止二次融合    142
8.3.5  代碼解析    143
8.4  小結(jié)    144

第Ⅲ部分  Direct3D的應(yīng)用

第9章  字體    149
9.1  ID3DXFont接口    149
9.1.1  創(chuàng)建一個ID3DXFont
接口對象    149
9.1.2  繪制文本    150
9.1.3  計算每秒繪制的幀數(shù)    151
9.2  CD3DFont    152
9.2.1  創(chuàng)建CD3DFont類的實例    152
9.2.2  繪制文本    152
9.2.3  清理    153
9.3  D3DXCreateText函數(shù)    153
9.4  小結(jié)    155
第10章  網(wǎng)格(一)    156
10.1  幾何信息    156
10.2  子集和屬性緩存    157
10.3  繪制    159
10.4  網(wǎng)格優(yōu)化    159
10.5  屬性表    161
10.6  鄰接信息    163
10.7  克隆    164
10.8  創(chuàng)建網(wǎng)格(D3DXCreateMeshFVF)    165
10.9  例程:網(wǎng)格的創(chuàng)建與繪制    167
10.10  小結(jié)    172
第11章  網(wǎng)格(二)    174
11.1  ID3DXBuffer    174
11.2  XFile    175
11.2.1  加載XFile文件    175
11.2.2  XFile材質(zhì)    176
11.2.3  例程:XFile    177
11.2.4  生成頂點法線    180
11.3  漸進(jìn)網(wǎng)格    181
11.3.1  生成漸進(jìn)網(wǎng)格    182
11.3.2  頂點屬性權(quán)值    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  小結(jié)    192
第12章  設(shè)計一個靈活的
          Camera類    193
12.1  Camera類的設(shè)計    193
12.2  實現(xiàn)細(xì)節(jié)    195
12.2.1  觀察矩陣(取景變換矩陣,
View Matrix)的計算    195
12.2.2  繞任意軸的旋轉(zhuǎn)    198
12.2.3  俯仰、偏航和滾動    199
12.2.4  行走、掃視和升降    201
12.3  例程:Camera    202
12.4  小結(jié)    205
第13章  地形繪制基礎(chǔ)    206
13.1  高度圖    207
13.1.1  創(chuàng)建高度圖    207
13.1.2  加載RAW文件    208
13.1.3  訪問和修改高度圖    209
13.2  創(chuàng)建地形幾何信息    210
13.2.1  頂點的計算    212
13.2.2  索引的計算    214
13.3  紋理映射    216
13.4  光照    219
13.4.1  概述    219
13.4.2  坐標(biāo)方格的明暗度計算    220
13.4.3  對地形進(jìn)行著色    222
13.5  在地形中“行走”    222
13.6  例程:Terrain    226
13.7  一些改進(jìn)    228
13.8  小結(jié)    229
第14章  粒子系統(tǒng)    230
14.1  粒子和點精靈    230
14.1.1  結(jié)構(gòu)格式    230
14.1.2  點精靈的繪制狀態(tài)    231
14.1.3  粒子及其屬性    233
14.2  粒子系統(tǒng)的組成    234
14.2.1  繪制一個粒子系統(tǒng)    238
14.2.2  隨機(jī)性    243
14.3  具體的粒子系統(tǒng)    243
14.3.1  例程:Snow System    244
14.3.2  例程:Firework    246
14.3.3  例程:Particle Gun    248
14.4  小結(jié)    250
第15章  拾取    251
15.1  屏幕到投影窗口的變換    253
15.2  拾取射線的計算    254
15.3  對射線進(jìn)行變換    255
15.4  射線/物體相交判定    256
15.5  例程:Picking    258
15.6  小結(jié)    259

第Ⅳ部分  著色器和效果

第16章  高級著色語言(HLSL)入門    263
16.1  HLSL著色器程序的編制    264
16.1.1  全局變量    266
16.1.2  輸入和輸出結(jié)構(gòu)    266
16.1.3  入口函數(shù)    267
16.2  HLSL著色器程序的編譯    268
16.2.1  常量表    268
16.2.2  HLSL著色器程序的編譯    272
16.3  變量類型    274
16.3.1  標(biāo)量類型    274
16.3.2  向量類型    274
16.3.3  矩陣類型    275
16.3.4  數(shù)組    277
16.3.5  結(jié)構(gòu)體    277
16.3.6  關(guān)鍵字typedef    277
16.3.7  變量的前綴    278
16.4  關(guān)鍵字、語句及類型轉(zhuǎn)換    279
16.4.1  關(guān)鍵字    279
16.4.2  基本程序流程    279
16.4.3  類型轉(zhuǎn)換    280
16.5  運(yùn)算符    281
16.6  用戶自定義函數(shù)    282
16.7  內(nèi)置函數(shù)    284
16.8  小結(jié)    286
第17章  頂點著色器入門    287
17.1  頂點聲明    288
17.1.1  頂點聲明的描述    288
17.1.2  頂點聲明的創(chuàng)建    291
17.1.3  頂點聲明的啟用    291
17.2  頂點數(shù)據(jù)的使用    291
17.3  使用頂點著色器的步驟    293
17.3.1  頂點著色器的編寫與編譯    294
17.3.2  頂點著色器的創(chuàng)建    294
17.3.3  頂點著色器的設(shè)置    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  實現(xiàn)輪廓勾勒的
頂點著色器代碼    310
17.6  小結(jié)    312
第18章  像素著色器入門    313
18.1  多重紋理概述    313
18.1.1  啟用多重紋理    315
18.1.2  多重紋理坐標(biāo)    316
18.2  像素著色器的輸入和輸出    317
18.3  使用像素著色器的步驟    318
18.3.1  像素著色器的編寫和編譯    318
18.3.2  像素著色器的創(chuàng)建    318
18.3.3  像素著色器的設(shè)置    319
18.3.4  像素著色器的銷毀    319
18.4  HLSL采樣器對象    319
18.5  例程:像素著色器中的多重紋理    321
18.6  小結(jié)    329
第19章  效果框架    331
19.1  手法與路徑    331
19.2  更多HLSL的內(nèi)置對象    333
19.2.1  紋理對象    333
19.2.2  采樣器對象與采樣器狀態(tài)    333
19.2.3  頂點著色器對象和
像素著色器對象    334
19.2.4  字符串    335
19.2.5  注釋    335
19.3  效果文件中的設(shè)備狀態(tài)    336
19.4  創(chuàng)建一種效果    337
19.5  常量的設(shè)置    338
19.6  使用一種效果    340
19.6.1  效果句柄的獲取    341
19.6.2  效果的激活    341
19.6.3  效果的啟用    341
19.6.4  當(dāng)前繪制路徑的設(shè)置    342
19.6.5  效果的終止    342
19.6.6  一個例子    342
19.7  例程:效果文件中的光照和紋理    343
19.8  例程:霧效    349
19.9  例程:卡通效果    352
19.10  EffectEdit    353
19.11  小結(jié)    354
附錄  Windows編程入門    355
參考文獻(xiàn)    372

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號