图书介绍

DirectX3DHLSL高级实例精讲PDF|Epub|txt|kindle电子书版本网盘下载

DirectX3DHLSL高级实例精讲
  • 李健波,丁海燕编著 著
  • 出版社: 清华大学出版社
  • ISBN:9787302318439
  • 出版时间:2013
  • 标注页数:507页
  • 文件大小:237MB
  • 文件页数:532页
  • 主题词:多媒体-软件工具

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐