图书介绍
DirectX3DHLSL高级实例精讲PDF|Epub|txt|kindle电子书版本网盘下载
![DirectX3DHLSL高级实例精讲](https://www.shukui.net/cover/51/31033184.jpg)
- 李健波,丁海燕编著 著
- 出版社: 清华大学出版社
- ISBN:9787302318439
- 出版时间:2013
- 标注页数:507页
- 文件大小:237MB
- 文件页数:532页
- 主题词:多媒体-软件工具
PDF下载
下载说明
DirectX3DHLSL高级实例精讲PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 入门基础1
1.1入门程序1
1.1.1程序的总体结构1
1.1.2 D3D的引入2
1.1.3 WinMain主程序代码讲解2
1.1.4 Direct3D各部分代码功能3
1.1.5效果文件8
1.2装入模型9
1.2.1模型装载9
1.2.2装载模型的高级接口9
1.2.3装载模型的低级接口11
1.3效果文件和HLSL入门11
1.3.1效果文件和HLSL文件综述11
1.3.2效果文件12
1.3.3 HLSL文件13
1.4 .x文件入门13
1.4.1.x文件13
1.4.2.x文件的模板15
1.5总结和记忆16
第2章 DXUT库和渲染对象类18
2.1 DXUT和D3D设备19
2.1.1 DXUT框架入门19
2.1.2设备管理19
2.2 UI接口24
2.2.1 UI类型24
2.2.2 UI的定义创建与使用24
2.2.3使用鼠标的控制26
2.2.4控制小物体27
2.2.5 UI设置的总结28
2.3模型管理类CRenderObject29
2.3.1新类的引入29
2.3.2增加CRENDEROBJECT类30
2.3.3 CRENDEROBJECT类代码的讲解30
2.4 CBOARD类36
2.4.1 CBOARD类的讲解36
2.4.2 CBOARD类的使用39
2.4.3 CBOARD类的扩展40
2.5总结和记忆42
第3章 效果文件和HLSL代码43
3.1 FX效果文件44
3.1.1效果文件的总体结构44
3.1.2实例代码44
3.1.3重要函数的讲解46
3.2 HLSL入门46
3.2.1 VertexShader和PixelShader功能46
3.2.2效果文件状态变量49
3.2.3使用Shader句柄方式51
3.2.3 OnFrameMove()中增加代码52
3.3 HLSL语言54
3.3.1 HLSL中变量的类型54
3.3.2 HLSL提供的运算符54
3.3.3数据类型转换55
3.3.4流程控制语句55
3.3.5 HLSL的核心函数55
3.3.6变量的修饰符和自定义函数58
3.3.7程序实例59
3.4编译常见错误和使用技巧60
3.4.1 FX和HLSL常见编译错误60
3.4.2执行错误61
3.4.3编辑效果文件62
3.4.4效果文件的编译的一些建议和经验62
3.4.5 HLSL的代码保护63
3.4.6效果文件的调试方法63
3.4.7各Shader版本之间的区别63
3.5总结和记忆64
第4章 .X文件65
4.1. .x文件结构65
4.1.1 .x文件的组成65
4.1.2简单.x文件实例67
4.1.3 .x文件记录材质和纹理68
4.1.4动画数据69
4.2访问.x文件70
4.2.1对.x文件的读取70
4.2.2访问.x的高层接口70
4.2.3访问.x文件的低层接口71
4.2.4一些注意事项74
4.3使用程序创建模型74
4.3.1目的和方式74
4.3.2具体实例75
4.3.3其他创建模型的D3DX库77
4.4其他格式的模型文件78
4.4.1 .obj文件格式说明78
4.4.2 .md5文件格式说明80
4.4.3 FBX和COLLADA文件介绍80
4.5渲染图元81
4.5.1三角形条带渲染方式81
4.5.2实例程序82
4.5.3渲染图元的比较83
4.6记忆和总结84
第5章 D3D灯光85
5.1模型的材质86
5.1.1光照模型的数学表达式86
5.1.2灯光属性86
5.1.3法向量87
5.1.4模型的材质88
5.1.5实例代码88
5.2点光源90
5.2.1点光源的特点90
5.2.2点光源中增加距离因子93
5.3光照模型94
5.3.1 Flat光照模型94
5.3.2 Gouraud光照模型95
5.3.3 Phone光照模型96
5.4聚光灯和平行光96
5.4.1聚光灯96
5.4.2平行光100
5.5全局光照的近似模拟101
5.5.1半球光照101
5.5.2光照贴图103
5.5.3两种技术的比较103
5.6 SSAO104
5.6.1 SSAO实现原理104
5.6.2实例代码讲解105
5.6.3后续改进方向107
5.7光线追踪107
5.7.1光线追踪的原理107
5.7.2实例代码讲解108
5.7.3后续改进方向114
5.8辐射度算法简介114
5.9总结和记忆115
第6章 纹理116
6.1纹理和纹理页面117
6.1.1纹理综述117
6.1.2纹理使用实例118
6.1.3访问纹理的其他形式和注意事项121
6.2颜色、高光、透明纹理121
6.2.1颜色纹理、镜面高光纹理的概念121
6.2.2颜色纹理122
6.2.3镜面高光纹理122
6.2.4纹理融合123
6.2.5透明纹理123
6.3凹凸贴图和法线纹理124
6.3.1凹凸贴图124
6.3.2法线纹理的原理125
6.3.3使用法线纹理的实例126
6.4立方体环境贴图129
6.4.1立方体环境贴图的原理129
6.4.2使用立方体来模拟天空盒129
6.4.3使用立方体贴图来模拟材质的反射131
6.5 1D、 2D、 3D纹理132
6.5.1 1D、 2D、 3D纹理的原理132
6.5.2 1D纹理的使用132
6.5.3 3D纹理的运用实例134
6.6视差贴图135
6.6.1视差贴图原理135
6.6.2视差贴图实例136
6.7反射和折射效果138
6.7.1折射和反射的原理138
6.7.2反射效果实例代码138
6.7.3折射效果140
6.7.4更复杂的效果141
6.8过程纹理141
6.8.1过程纹理原理141
6.8.2过程纹理的实例142
6.9投影纹理144
6.9.1投影纹理的原理与使用144
6.9.2投影纹理实例145
6.10总结和记忆148
第7章 缓冲区149
7.1颜色缓冲区150
7.1.1颜色缓冲区格式和基本操作150
7.1.2颜色缓冲区运算实例152
7.1.3颜色缓冲区的常用设置153
7.2 Alpha混合和Alpha比较154
7.2.1 Alpha混合和Alpha比较154
7.2.2实例讲解155
7.2.3关于透明纹理的选择156
7.3深度缓冲区156
7.3.1深度缓冲区原理156
7.3.2使用HLSL来计算深度159
7.3.3透明物体的深度160
7.3.4深度缓冲区的设置161
7.4模板缓冲162
7.4.1模板缓冲区的功能和原理162
7.4.2模板缓冲区的运用实例基础164
7.4.3模板缓冲区高级实例167
7.4.4双面模板的设置170
7.5顶点、顶点索引、邻接缓冲区171
7.5.1原理和用途171
7.5.2代码实例172
7.6总结和记忆176
第8章 VertexShader运用177
8.1 VertexShader的基本使用177
8.1.1 VertexShader的功能和原理177
8.1.2实例代码178
8.2 VertexShade高级运用181
8.2.1使用VertexShader实现物体的变形181
8.2.2更复杂的VertexShader变换184
8.3矩阵变换184
8.3.1空间坐标变换184
8.3.2矩阵变换的特性185
8.3.3特殊矩阵的特殊性质186
8.3.4 D3DX矩阵函数功能说明186
8.4四元数188
8.4.1四元数简单介绍188
8.4.2四元数的物理意义188
8.4.3实例程序189
8.5物体方向和布告栏技术191
8.5.1控制物体的方向191
8.5.2布告栏技术193
8.6顶点标识196
8.6.1如何控制顶点196
8.6.2代码实例197
8.7总结和记忆200
第9章 PixelShader运用201
9.1基本功能201
9.1.1 PixelShader功能和原理201
9.1.2其他可以生成的特效203
9.2图像的后期处理204
9.2.1后期处理综述204
9.2.2后期处理的几个实现204
9.3 PixelShader分形206
9.3.1分形的数学原理206
9.3.2实例代码207
9.4 Hough变换209
9.4.1 Hough变换原理209
9.4.2实例代码210
9.5图像的傅立叶变换212
9.5.1图像变换原理和算法212
9.5.2快速傅立叶变换FFT213
9.5.3代码实例215
9.6总结和记忆219
第10章 渲染到纹理221
10.1渲染到纹理221
10.1.1基本原理和实现221
10.1.2接口函数讲解225
10.1.3直接渲染到纹理226
10.1.4渲染到纹理的实用技术227
10.2渲染到立方体纹理228
10.2.1渲染到立方体纹理228
10.2.2实例讲解229
10.2.3接口类函数讲解232
10.3多渲染目标233
10.3.1多渲染目标用途233
10.3.2多渲染目标的实例233
10.4渲染到顶点236
10.4.1渲染到顶点236
10.4.2实例代码236
10.5总结和记忆237
第11章 阴影238
11.1平面阴影238
11.1.1实现原理238
11.1.2实例代码240
11.2 ShadowMap阴影243
11.2.1技术原理243
11.2.2实例代码244
11.2.3透明效果的阴影深度图247
11.2.4阴影质量248
11.3 ShadowVolume阴影251
11.3.1技术原理251
11.3.2创建阴影体252
11.3.3顶点变换254
11.3.4模板设置255
11.3.5计算光照257
11.3.6阴影体类代码259
11.3.7特殊情况下处理方式261
11.4阴影实现方式的比较262
11.5总结和记忆262
第12章 骨骼动画263
12.1骨骼动画264
12.1.1骨骼动画的原理264
12.1.2骨骼动画的实例265
12.2 .x文件中的骨骼和动画信息268
12.2.1骨骼动画文件记录要求268
12.2.2骨骼动画文件实例讲解269
12.3实用骨骼代码274
12.3.1程序总体结构274
12.3.2骨骼类实现代码的讲解276
12.3.3实例代码277
12.4骨骼动画的融合和事件触发281
12.4.1骨骼动画的融合281
12.4.2事件触发283
12.5总结和记忆285
第13章 刚体动画、变形动画和纹理动画286
13.1刚体动画286
13.1.1刚体动画286
13.1.2实例代码286
13.2变形动画288
13.2.1变形动画原理288
13.2.2实例代码289
13.3纹理动画295
13.3.1动画纹理295
13.3.2改变纹理坐标295
13.3.3改变纹理295
13.4变形动画工具299
13.4.1 MPH的文件结构299
13.4.2核心代码讲解299
13.5总结和记忆301
第14章 粒子302
14.1粒子的显示302
14.1.1技术实现的核心302
14.1.2粒子类的结构302
14.1.3粒子显示的优化305
14.2粒子的运动308
14.2.1粒子运动状态的描述308
14.2.2粒子类的实现309
14.2.3后续改进313
14.3总结和记忆313
第15章 物理模拟初步314
15.1物理运动的数学模拟314
15.1.1物理运动的数学描述方法314
15.1.2一阶微分方程315
15.1.3一阶方程数值求解的实例代码315
15.1.4二阶微分方程的数学描述317
15.1.5二体问题的数值模拟318
15.1.6 Verlet积分320
15.1.7数值积分方程的简单比较321
15.2布料模拟322
15.2.1布料模拟的原理322
15.2.2布料实例代码323
15.3简单的碰撞327
15.3.1碰撞概述327
15.3.2关于BV的期望特征328
15.3.3使用球体检测碰撞329
15.3.4使用AABB来检测碰撞330
15.4 OBB碰撞检测算法实例330
15.4.1 OBB分离轴原理330
15.4.2实例代码331
15.5 Bullet物理引擎入门333
15.5.1入门实例334
15.5.2计算物体的运动状态335
15.5.3与图形结合338
15.6总结和记忆346
第16章 特效实例347
16.1光晕效果347
16.1.1简易光晕347
16.1.2像素扩展方式的光晕349
16.2延迟渲染(Deferred Shader)350
16.2.1传统的渲染方式350
16.2.2延迟渲染的实现原理351
16.2.3延迟渲染的实例351
16.3 HDR355
16.3.1 HDR介绍355
16.3.2 HDR的功能和使用356
16.3.3 HDR效果的实例代码357
16.3.4两个核心实例358
16.4运动模糊和景深效果366
16.4.1运动模糊的实现原理366
16.4.2运动模糊的实例代码367
16.43景深的实现原理367
16.4.4景深效果的实例代码368
16.5 NPR370
16.5.1 NPR实现原理和分类370
16.5.2技术实现370
16.5.3常见NPR类型371
16.6雾效果374
16.6.1雾的实现原理374
16.6.2体积雾的实现原理375
16.6.3体积雾实例代码376
16.7体积光照散射效果379
16.7.1体积光照散射及实现原理379
16.7.2体积光照散射(GodRay)实例代码380
16.8各项异性材质383
16.8.1各项异性材质特性383
16.8.2实例代码383
16.9总结和记忆384
第17章 杂项实例385
17.1模型差集与交集385
17.1.1渲染模型交集的实现方式385
17.1.2实现代码386
17.2渲染线段388
17.2.1 DrawLine接口方式388
17.2.2使用渲染元型389
17.3模型面的拾取392
17.3.1模型面的拾取392
17.3.2拾取的实例代码394
17.4通用计算初步396
17.4.1使用PixelShader实现矩阵相乘396
17.4.2纹理迭代计算397
17.4.3使用Jacobi迭代法求解线性方程组399
17.4.4通用计算运用总结401
17.5视频音频的后期处理402
17.5.1视频后期处理402
17.5.2音频处理402
17.6总结和记忆402
第18章 综合实例403
18.1路径漫游403
18.1.1实现原理和关键数据403
18.1.2实现文件及代码讲解405
18.1.3路径文件创建和工具407
18.2简单水面409
18.2.1水面的物理现象分析409
18.2.2水面效果实现的代码讲解409
18.2.3实例代码410
18.3场景加载417
18.3.1场景加载417
18.3.2实例代码418
18.4增加特效424
18.4.1增加效果424
18.4.2效果代码424
18.4.3后续的需求425
18.5动画组合425
18.5.1动画内容425
18.5.2实例代码425
18.6总结和记忆426
第19章 调试和优化427
19.1 PIX调试427
19.1.1 PIX的高级功能427
19.1.2常用调试方式432
19.1.3调试实例432
19.2实例方式渲染435
19.2.1实例方式渲染435
19.2.2实例代码436
19.3剪裁439
19.3.1剪裁原理439
19.3.2实例代码441
19.4模型优化和简化443
19.4.1模型优化443
19.4.2模型优化的实例444
19.4.3模型简化实例446
19.4.4模型简化实例程序446
19.5 D3D程序优化的一些基本方法449
19.5.1资源的优化449
19.5.2程序在执行过程中的一些建议449
19.6总结和记忆449
第20章 DX11入门450
20.1迁移到DX 11450
20.1.1 DXUT函数450
20.1.2 CRENDEROBJECT类451
20.1.3 CRENDEROBJECT的使用456
20.2 DX 11使用的模型和DXUTSDKMesh456
20.2.1 DXUTSDKMesh模型456
20.2.2模型的装载、渲染和释放458
20.2.3动画装载458
20.3细分初步459
20.3.1细分介绍459
20.3.2细分的实例代码459
20.4通用计算463
20.4.1通用计算463
20.4.2创建设备464
20.4.3创建缓冲区467
20.4.4显示线程状态469
20.4.5线程、线程号、线程组472
20.4.6大矩阵相乘473
20.5使用ComputeShader图像处理474
20.5.1辅助库474
20.5.2对图像的简单操作476
20.5.3计算分形476
20.5.4 SM5.0功能介绍478
20.6总结和记忆479
第21章 附录480
21.1 .x插件480
21.1.1插件的安装480
21.1.2插件导出注意事项481
21.1.3设置481
21.1.4导出方式482
21.1.5其他485
21.2纹理工具485
21.2.1立方体纹理的创建486
21.2.2体积纹理的创建486
21.2.3法线纹理和高度纹理486
21.2.4过程纹理的创建488
21.3 Pix的使用488
21.3.1 Pix功能总体讲解488
21.3.2使用实例讲解Pix功能489
21.3.3对象窗口490
21.3.4其他功能491
21.4 RenderMonkey简述491
21.4.1界面介绍492
21.4.2 RenderMonkey中的变量493
21.4.3实例介绍494
21.5 DirectMusic介绍及使用495
21.6 Bullet物理引擎介绍498
21.7路径导出工具500
21.8其他工具概述502
21.9总结和记忆504
参考文献505
参考网站507