《Direct X游戏开发终极指南》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:艾伦·谢里德著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302172864
  • 页数:692 页
图书介绍:本书内容包括:1.DirectX游戏开发和Direct 3D图形学基础知识;2.最基础的数学知识和物理知识;3.基本图形学知识和动画技术;4.场景管理。

第1章DirectX导论 1

1.1本书概述 2

1.1.1编写本书的目的 2

1.1.2读者对象 3

1.1.3工具和资源 3

1.2游戏规划 3

1.2.1项目Stranded概述 4

1.2.2设计概述 4

1.2.3引擎设计概述 5

1.2.4渲染系统 6

1.2.5输入系统 6

1.2.6声音系统 6

1.2.7物理系统 7

1.2.8动画系统 7

1.2.9人工智能(AI)系统 7

1.3 DirectX背景 8

1.3.1 DirectGraphics 8

1.3.2 DirectInput 9

1.3.3 DirectPlay 9

1.3.4 DirectMusic 9

1.3.5 DirectSound 10

1.3.6安装DirectX 9.0 SDK 10

1.4手动设置窗口 11

1.4.1创建和显示Direct3D窗口 13

1.4.2使用Direct3D绘制图元 21

1.4.3 Direct3D顶点缓存 22

1.4.4坐标系 23

1.5演示程序 24

1.5.1 Lines演示程序 24

1.5.2 Triangle演示程序 32

1.5.3 Quad演示程序 35

1.5.4 Ortho Matrix演示程序 36

1.5.5 Perspective Projection Matrix演示程序 38

1.5.6 World Matrix演示程序 40

1.5.7 View Matrix演示程序 41

1.5.8深度测试 42

1.5.9模板源文件 43

1.5.10使用DirectX框架设置Direct3D 47

1.6总结 48

第2章 游戏:Stranded 49

2.1游戏规划导论 50

2.2游戏规划 50

2.1.1角色模型 50

2.1.2菜单和界面 51

2.1.3环境 53

2.1.4游戏剧本 53

2.3引擎规划 53

2.3.1渲染系统 54

2.3.2输入系统 54

2.3.3声音系统 55

2.3.4人工智能 55

2.3.5数学库 55

2.4游戏项目概述 55

2.4.1游戏项目第1部分 56

2.4.2游戏项目第2部分 56

2.4.3游戏项目第3部分 56

2.4.4游戏项目第4部分 56

2.4.5游戏项目第5部分 56

2.4.6游戏项目第6部分 56

2.4.7游戏项目第7部分 57

2.4.8游戏项目第8部分 57

2.4.9游戏项目第9部分 57

2.4.10游戏项目第10部分 57

2.4.11游戏项目第11部分 57

2.4.12游戏项目第12部分 58

2.5游戏项目第1部分:启动项目 58

2.5.1游戏源文件 59

2.5.2引擎源文件和头文件 63

2.5.3 D3DRenderer.cpp 67

2.6总结 77

第3章Direct3D光照和物体 79

3.1 Direct3D光照导论 80

3.1.1光源 80

3.1.2反射模型 82

3.1.3光照和绘影技术 85

3.2使用Direct3D函数创建物体 87

3.3在Direct3D中创建光照 91

3.4游戏项目第2部分:增加对硬件光照的支持 97

3.5总结 101

第4章 纹理 103

4.1 Direct3D中的纹理介绍 105

4.2创建和使用纹理 106

4.2.1纹理坐标 109

4.2.2 Mipmap 110

4.2.3纹理质量 111

4.2.4 Textures演示程序 111

4.2.5多纹理贴图 115

4.2.6 Multitexture贴图演示程序 116

4.2.7透明度 121

4.2.8 Transparency演示程序 121

4.2.9立方体贴图纹理 122

4.3 sprite(子图形) 123

4.3.1点状sprite 124

4.3.2 Point Sprites演示程序 125

4.4凸凹贴图 127

4.5保存纹理 130

4.6幕外渲染 133

4.7游戏项目第3部分:增加对纹理的支持 141

4.8总结 152

第5章Direct3D文本和图形用户界面 153

5.1在屏幕上显示文本 154

5.2计算帧率 159

5.3创建和显示图形用户界面 161

5.3.1状态显示界面(HUD) 161

5.3.2 GUI演示程序 162

5.3.3 main源文件 178

5.4游戏项目第4部分:添加文本和GUI支持 183

5.4.1游戏源文件 183

5.4.2游戏项目引擎文件 191

5.5总结 204

第6章 特效 207

6.1多采样 207

6.2雾 211

6.3细节映射 214

6.4粒子系统 219

6.5游戏项目第5部分:增加特效 230

6.6总结 237

第7章 基本脚本系统 239

7.1脚本介绍 239

7.2属性脚本系统 241

7.3命令脚本系统 258

7.4令牌流 273

7.5其他类型的脚本系统 280

7.6游戏项目第6部分:增加对脚本的支持 280

7.7总结 281

第8章 游戏数学回顾 283

8.1游戏数学介绍 284

8.2矢量数学和回顾 285

8.3矩阵数学 288

8.3.1矩阵复习 289

8.3.2 Direct3D矩阵 293

8.4四元组数学 293

8.5射线数学 296

8.6平面数学 296

8.6.1平面复习 297

8.6.2 Direct3D平面 302

8.7三角形和多边形 303

8.8物理 304

8.9游戏项目第7部分:创建数学库 304

8.10总结 337

第9章 碰撞检测 339

9.1碰撞介绍 340

9.2边界框 340

9.3边界球 344

9.4平面碰撞 346

9.5演示程序 347

9.5.1边界框碰撞 348

9.5.2球碰撞 354

9.5.3平面碰撞 360

9.6游戏项目第8部分:添加碰撞检测 366

9.7总结 376

第10章 输入检测和响应 377

10.1使用DirectInput 377

10.2 DirectInput演示程序 380

10.3游戏项目第9部分:添加输入系统 396

10.4总结 413

第11章 声音 415

11.1声音介绍 416

11.1.1 DirectSound 416

11.1.2 DirectMusic 417

11.2使用DirectMusic和DirectS ound 417

11.3声音演示程序 422

11.3.1 main源文件 422

11.3.2演示程序的头文件和源文件 426

11.4游戏项目第10部分:添加声音 432

11.5总结 441

第12章 模型加载 443

12.1模型加载介绍 443

12.2使用X文件 445

12.2.1 X文件格式介绍 445

12.2.2 Material模板 447

12.2.3 Mesh模板 447

12.2.4 MeshMaterialList模板 448

12.2.5 MeshTextureCoords模板 448

12.2.6加载和渲染X模型 449

12.2.7 X Model Loading演示程序 450

12.3使用OBJ文件 455

12.3.1 OBJ文件格式介绍 456

12.3.2 OBJ Model Loading演示程序 458

12.4使用UMF文件 471

12.4.1 UMF文件格式介绍 471

12.4.2 UMF模型加载演示程序 473

12.5游戏第11部分:加载模型 485

12.5.1添加模型加载支持 486

12.5.2加载和渲染等级 487

12.6总结 511

第13章 模型动画 513

13.1动画介绍 514

13.2动画路径 514

13.2.1直线路径 514

13.2.2曲线路径 520

13.2.3圆形路径 526

13.2.4路线 531

13.3骨骼动画 543

13.4 X模型动画 550

13.5游戏项目第12部分:添加对动画的支持功能 571

13.6总结 573

第14章 场景管理 575

14.1场景管理介绍 575

14.2场景管理技术 576

14.2.1状态管理 576

14.2.2闭塞物和平截头体选择 577

14.2.3八叉树和四叉树 578

14.2.4二叉搜索树 579

14.2.5可能可见度集合 580

14.3总结 581

第15章 完成游戏引擎设计 583

15.1日志系统 584

15.2 3D摄像机系统 588

15.3平截头体选择 595

15.4游戏项目第13部分:完成引擎设计 605

15.5总结 610

第16章 开发游戏:Stranded 611

16.1本章概述 612

16.2组织游戏资源 613

16.3加载和显示最终的游戏 625

16.4摄像机移动和碰撞检测 634

16.5游戏元素 641

16.6代理角色 654

16.7打包 664

16.8总结 664

第17章 结束语 667

17.1最后的思考 667

17.2下一步的工作 668

附录A推荐的书籍和网站 669

A.1推荐的书籍 669

A.1.1游戏和图形编程 669

A.1.2通用编程 671

A.1.3人工智能(AI)和数学 671

A.2推荐的网站 671

附录B C++入门 675

B.1 C++基础 675

B.2动态内存和文件输入/输出 683

B.3结构和类 687

B.4总结 689

附录C关于光盘 691

C.1文件夹 691

C.2一般系统要求 691