DirectX3DHLSL高级实例精讲PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:李健波,丁海燕编著
- 出 版 社:清华大学出版社
- 出版年份:2013
- ISBN:9787302318439
- 页数:507 页
第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模型管理类CRenderObject 29
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 SSAO 104
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快速傅立叶变换FFT 213
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 HDR 355
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 NPR 370
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 11 450
20.1.1 DXUT函数 450
20.1.2 CRENDEROBJECT类 451
20.1.3 CRENDEROBJECT的使用 456
20.2 DX 11使用的模型和DXUTSDKMesh 456
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
- 《MBA大师.2020年MBAMPAMPAcc管理类联考专用辅导教材 数学考点精讲》(中国)董璞 2019
- 《2020考研英语大趋势 历年真题完形+翻译+新题型精讲精练》商志 2019
- 《CINEMA 4D新手快速进阶实例教学 商迪》商迪 2020
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《2019国家执业药师考试教材精讲 药学专业知识 2 第2版》何冰 2019
- 《Dreamweaver CC 2018标准实例教程 中文版》杨雪静,胡仁喜编著 2019
- 《外国文学名著精讲 1》汪汉利著 2019
- 《Adobe Photoshop 新手快速进阶实例教学》王楠 2019
- 《手把手教你吉他弹唱3汪峰经典作品精讲》王一 2013
- 《跨境电商英语口语实例大全》苏茜责任编辑;(中国)罗芳 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019