当前位置:首页 > 工业技术
Direct3D游戏编程入门教程  第2版
Direct3D游戏编程入门教程  第2版

Direct3D游戏编程入门教程 第2版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(德)Wolfgang F.Engel著;周惟迪,徐翎,张璐意译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2005
  • ISBN:7115129630
  • 页数:327 页
图书介绍:本书是介绍Direct3D游戏编程技术的入门教程,详细介绍了Direct3D的背景、基本知识以及3D程序设计的相关概念与技术。
《Direct3D游戏编程入门教程 第2版》目录

第1章 Direct3D/DirectX的历史 3

1.1 DirectX2.0 3

第1部分 DirectX图形:Don't Hurt Me 3

1.2 DirectX6/7 4

1.3 DirectX8 4

1.3.1 Point Sprite 5

1.3.2 3D纹理 5

1.3.3 Direct3DX实用程序库 5

1.3.4顶点Shader和像素Shader 6

1.4 DirectX9 6

1.5小结 7

2.1硬件抽象层(Hardware Abstraction Layer,HAL) 8

第2章 HAL和COM概述 8

2.2插件式软件设备(Pluggable Software Device) 11

2.3参考光栅器(Reference Rasterizer) 12

2.4设备控制 12

2.5COM 13

2.6小结 15

第3章 编程约定 16

3.1访问COM对象 16

3.2命名约定 18

3.3调试DirectX 20

3.4返回码 21

3.5小结 22

第4章 3D基础、Gouraud着色、纹理映射基础 23

4.13D基础 23

4.2理解顶点 25

4.3使用朝向 25

4.4理解面(face) 26

4.5理解多边形(polygon) 26

4.6理解法线(normal) 27

4.7理解法线和Gouraud着色 27

4.8纹理映射(Texture-Mapping)基础 28

4.9小结 30

5.1编译示例 31

第5章 基础 31

5.2 DirectX Graphics通用体系结构 33

5.3Basic示例 34

5.3ConfirmDevice()、OneTimeSceneInit()和InitDeviceObjects()函数 37

5.3.2 RestoreDeviceObjects()方法 37

5.3.3 FrameMove()函数 45

5.3.4 Render()函数 46

5.3.5 InvalidateDeviceObjects()函数 49

5.3.6 DeleteDeviceObjects()函数 50

5.3.7 FinalCleanup()函数 50

5.4 Basic2示例 51

5.4.1 InitDeviceObjects()函数 53

5.4.2 RestoreDeviceObjects()函数 54

5.4.3 Render()函数 56

5.4.4 InvalidateDeviceObjects()函数 58

5.4.5 DeleteDeviceObjects()函数 58

5.4.6 FinalCleanup()函数 58

5.5 Basic3示例 59

5.6 Basic4示例 60

5.7 Basic5示例 66

5.8小结 66

第6章 动画初步 67

6.1 理解变换与视口 67

6.1.1世界变换 68

6.1.2观察变换 88

6.1.3投影变换 94

6.1.4使用视口 96

6.1.5深度缓冲(Depth Buffering) 99

6.2附加资源 102

6.3小结 103

6.4第一部分提问 103

第2部分 深入DirectX图形编程 109

第7章纹理映射基础 109

7.1纹理的要点是什么 109

7.2使用纹理坐标 112

7.3.1包装纹理寻址模式 114

7.3使用纹理寻址模式(texture-addressing mode) 114

7.3.2镜像纹理寻址模式 116

7.3.3夹持纹理寻址模式 117

7.3.4边框颜色纹理寻址模式 118

7.3.5一次镜像纹理寻址模式 118

7.4纹理包装(Texture Wrapping) 118

7.5纹理过滤和抗锯齿(Anti-Aliasing) 120

7.5.1 Mipmap 121

7.5.2最近点采样 122

7.5.3线性纹理过滤 122

7.5.4各向异性过滤 123

7.5.5抗锯齿(Anti-Aliasing) 125

7.5.6 alpha混合(blending) 126

7.6小结 128

第4章 指令系统层 132

4.1 80x86 CPU 132

4.1.1 8086/8088 CPU 133

4.1.2 80386/80486 CPU 135

4.1.3 Pentium系列CPU 137

4.2 80x86 CPU的寄存器和主存储器 141

4.2.1 80x86 CPU的寄存器 141

4.2.2 80x86的主存储器 146

4.3 80x86 CPU的指令系统 157

4.3.1 80x86寻址方式 158

4.3.2 80x86 CPU指令系统 166

10.3 折射/反射环境映射 176

10.3.1 动态折射/折射环境映射 178

10.3.2 凹凸的动态折射/反射环境映射 181

10.4使用阴影 183

10.4.1阴影体(Shadow Volume) 184

习题4 195

10.4.2使用阴影体所需考虑的问题 196

10.5小结 196

第11章 使用文件 197

11.1 3D文件格式 197

11.2 X文件格式 198

11.2.1 首部(Header) 199

11.2.2 网格 199

第5章 汇编语言层 201

11.2.3 网格材质列表 201

5.1概述 201

11.2.4法线 203

5.2汇编语言语句格式 203

11.2.5 纹理 204

5.3.2变量 205

5.3.1常数 205

5.3 80x86宏汇编语言数据、表达式和运算符 205

11.2.6变换矩阵 209

5.3.3标号 209

5.3.4表达式与运算符 210

11.2.7 动画 212

5.4 80x86宏汇编语言伪指令 214

5.4.1符号定义语句 214

11.3 使用X文件 215

5.4.2处理器选择伪指令 215

5.4.3段结构伪指令(SEGMENT/ENDS) 215

11.4扩展X文件 217

11.6 小结 218

11.5.1 X文件格式 218

11.5附加资源 218

11.5.2蒙皮网格(Skinned Mesh) 218

第12章 使用*.md3文件 219

12.1文件格式探索 219

5.4.4段组伪指令(GROUP) 220

5.4.5内存模式和简化段定义伪指令 221

5.4.6定位和对准伪指令 222

12.1.1 Animation.cfg 223

5.4.7过程定义伪指令(PROCENDP) 223

5.4.8包含伪指令(INCLUDE) 224

5.4.9标题伪指令(TITLE) 224

5.5宏指令 224

12.1.2 .skin文件 225

12.1.3纹理与Shader文件 226

5.6汇编语言程序设计基本技术 231

5.6.1程序设计步骤 231

12.1.4 自定义声音 231

12.1.5 .md3格式 232

5.6.2顺序程序设计 232

5.6.3分支程序设计 235

12.2 CharacterEngine示例程序 235

5.6.4循环程序设计 243

5.6.5子程序设计 251

12.3更多的改进 258

12.4 附加资源 258

12.5 小结 258

第4部分 附录 261

附录A Windows游戏编程基础 261

A.1 如何看待窗口 261

A.2 Windows如何与你的游戏交互 261

A.3 窗口的组成部分 262

A.4 窗口框架 262

5.6.6系统功能子程序的调用 262

5.6.7汇编语言程序的开发 263

A.4.1步骤1:定义一个窗口类 266

习题5 269

A.4.2步骤2:注册窗口类 269

A.4.3步骤3:创建一个该类的窗口 269

A.4.4步骤4:显示窗口 272

A.4.5步骤5:创建消息循环 272

A.4.6窗口过程 275

A.5为游戏而优化的窗口框架 276

A.6窗口资源 280

附录B C++入门 284

B.1什么是面向对象程序设计 284

B.1.1抽象 285

B.1.2类 287

B.1.3封装 288

B.1.4声明一个类 289

B.1.5构造函数 292

B.1.6析构函数 292

B.1.7类层次和继承 294

B.1.8虚函数 298

B1.9多态性 299

B.1.10内联(inline)数 300

B.1.11 C++相对与C增强的内容 301

B.2附加资源 306

C.1 3D中的点(Point) 307

附录C 数学入门 307

C.2.1 受限向量(BoundVector) 309

C.2 向量(Vector) 309

C.2.2 自由向量(FreeVector) 310

C.2.3单位向量(Unit Vector) 315

C.3矩阵 315

C.3.1矩阵与向量的乘法 316

C.3.2矩阵加法和减法 317

C.3.3矩阵乘法 317

C.3.5 缩放矩阵 318

C.3.6 旋转矩阵 318

C.3.4平移矩阵 318

C.4小结 320

附录D 使用D3DXCreateTextureFromFileEx()创建纹理 321

附录E 游戏程序设计资源 324

E.1 常规 324

E.2 DirectX图形 324

附录F 随书光盘内容 326

F.1 DirectX 9.0 SDK 326

F.2 ATI RenderMonkey 326

F.3 NVIDIA Cg工具包 327

F.4教学演示动画 327

返回顶部