当前位置:首页 > 工业技术
DirectX游戏程序设计
DirectX游戏程序设计

DirectX游戏程序设计PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:王欣编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111460398
  • 页数:297 页
图书介绍:本教材语言通俗易懂,由浅入深,逐步讲解,适合学生与初学者。本教材从基本技术知识入手,结合游戏程序实例及编者在游戏程序设计领域的经验,介绍了DirectX游戏程序设计的方法与技巧。本书实例的选择注重实用性、趣味性和代表性,无论是专业设计人士,还是对游戏程序设计感兴趣的初学者,都能从本书中学到知识、经验、技巧。本书的实例,以知识点为独立单元,学习者可以针对需要的知识点直接学习。
《DirectX游戏程序设计》目录

第1章 相关数学知识回顾 1

1.1 三维坐标系 1

1.2 三维空间向量 2

1.2.1 获取向量长度——求模 2

1.2.2 向量与标量相乘 3

1.2.3 向量规范化 3

1.2.4 向量的加法运算 3

1.2.5 向量的减法运算 3

1.2.6 向量的点积运算 4

1.2.7 向量的叉积运算 4

1.3 矩阵 5

1.3.1 方阵 6

1.3.2 矩阵的基本运算 7

1.3.3 逆矩阵 8

1.3.4 矩阵转置 9

1.4 几何变换 9

1.4.1 齐次坐标 9

1.4.2 基本变换矩阵 10

1.4.3 组合变换矩阵 12

1.5 几何图元 16

1.5.1 表示方法 16

1.5.2 直线和射线 16

1.5.3 球 18

1.5.4 矩形边界框 18

1.5.5 平面 19

1.5.6 三角形 20

第2章 Windows编程必备知识 22

2.1 Windows程序运行机制 22

2.1.1 API与SDK 22

2.1.2 窗口与句柄 23

2.1.3 消息与消息队列 24

2.1.4 WinMain函数 25

2.2 创建一个Windows程序 26

2.2.1 设计Windows类 26

2.2.2 注册Windows类 29

2.2.3 创建窗口 29

2.2.4 显示及更新窗口 31

2.2.5 消息循环 32

2.2.6 窗口过程函数 35

第3章 DirectX及其API 37

3.1 DirectX概述 37

3.1.1 DirectX的发展历史 38

3.1.2 DirectX的安装与配置 39

3.2 Direct3D预备知识 44

3.2.1 左手坐标系 44

3.2.2 表面和内存池 44

3.2.3 顶点缓存和索引缓存 45

3.2.4 深度缓存 46

3.2.5 多重采样 46

3.3 Direct3D初始化 47

3.3.1 获取接口IDirect3D9的指针 47

3.3.2 校验硬件顶点运算 47

3.3.3 填充D3DPRESENT PARAMETERS结构 48

3.3.4 创建IDirect3DDevice9接口 50

3.4 一个简单的Direct3D程序框架 51

第4章 绘制流水线 64

4.1 模型表示 64

4.1.1 灵活顶点格式 65

4.1.2 三角形单元 66

4.1.3 顶点的索引 67

4.2 绘制流水线 67

4.2.1 局部坐标系 68

4.2.2 世界坐标系 68

4.2.3 观察坐标系 72

4.2.4 消隐 73

4.2.5 光照 74

4.2.6 裁剪 74

4.2.7 投影 74

4.2.8 视口变换 76

4.2.9 渲染 77

第5章 Direct3D的绘制 78

5.1 Direct3D基本图元 78

5.2 Direct3D颜色表示法 80

5.3 顶点缓存和索引缓存 82

5.3.1 创建顶点缓存 82

5.3.2 访问顶点缓存内容 84

5.3.3 顶点缓存绘制状态 84

5.3.4 顶点缓存例程 85

5.3.5 创建索引缓存 89

5.3.6 访问索引缓存内容 89

5.3.7 索引缓存绘制状态 89

5.3.8 开始绘制 89

5.3.9 索引缓存例程 90

5.4 绘制2D文本 93

5.5 创建3D文本 96

第6章 颜色、光照与材质 100

6.1 颜色 100

6.1.1 颜色表示 100

6.1.2 顶点颜色 103

6.1.3 着色模式 104

6.2 光照 107

6.2.1 光照模型 107

6.2.2 光源的类型 109

6.2.3 光源的设置 111

6.3 材质 114

6.3.1 Direct3D材质 114

6.3.2 顶点的法向量 116

6.3.3 实例——光照四面体 117

第7章 纹理、混合与模板 120

7.1 纹理 120

7.1.1 纹理坐标 120

7.1.2 创建并启用纹理 122

7.1.3 纹理过滤器 123

7.1.4 多级渐进纹理 124

7.1.5 纹理寻址 125

7.1.6 环境贴图 128

7.1.7 实例——八面体纹理贴图 129

7.2 混合 132

7.2.1 混合方程 132

7.2.2 混合因子 133

7.2.3 透明度和Alpha混合 134

7.2.4 创建Alpha通道 135

7.2.5 颜色混合实例——透明茶壶 136

7.3 模板 139

7.3.1 模板缓存 139

7.3.2 模板测试 140

7.3.3 更新模板缓存 141

第8章 网格 148

8.1 网格模型基础 148

8.1.1 几何信息 148

8.1.2 邻接信息 150

8.1.3 网格子集和属性缓存 151

8.1.4 网格优化 152

8.2 网格基本操作 154

8.2.1 创建网格模型 154

8.2.2 简单几何体 158

8.2.3 克隆网格模型 162

8.3 文件网格模型 162

8.3.1 模型文件格式 162

8.3.2 X文件网格模型 163

8.3.3 3DS文件转换为X文件 175

8.3.4 加载网格 176

8.3.5 渐进网格 181

8.3.6 d3dMesh类 184

8.4 骨骼动画网格模型 196

8.4.1 骨骼动画基本原理 196

8.4.2 骨骼层次信息和矩阵栈 197

8.4.3 X文件中的骨骼动画信息 198

8.4.4 顶点混合技术 200

8.4.5 骨骼动画的实现 203

8.4.6 骨骼动画控制器 210

第9章 场景绘制 218

9.1 摄像机 218

9.1.1 摄像机的基本原理 218

9.1.2 摄像机的变换 219

9.2 地形绘制 223

9.2.1 高度图 224

9.2.2 创建地形几何信息 224

9.2.3 绘制地形 228

9.2.4 在地形中行走 232

9.3 天空绘制 235

9.3.1 矩形天空 235

9.3.2 天空盒 237

9.3.3 球形天空 240

第10章 粒子系统 242

10.1 粒子系统基本原理 242

10.2 点精灵(点图元) 243

10.2.1 点精灵结构体 244

10.2.2 点精灵的大小 245

10.2.3 点精灵的渲染 246

10.3 粒子系统的实现 246

10.3.1 粒子结构和顶点结构 246

10.3.2 粒子系统类的定义 247

10.3.3 粒子系统的构造函数和初始化函数 248

10.3.4 粒子系统的创建、销毁和随机性 249

10.3.5 粒子系统的更新 250

10.3.6 粒子系统的绘制 251

10.3.7 粒子系统示例 253

第11章 拾取与碰撞检测 261

11.1 外接体 261

11.2 拾取 264

11.2.1 屏幕到投影窗口的变换 265

11.2.2 拾取射线的计算 266

11.2.3 对射线进行变换 267

11.2.4 射线与物体的相交判定 268

11.3 碰撞检测 270

11.3.1 外接球碰撞检测 270

11.3.2 AABB碰撞检测 272

第12章 着色器和高级着色器语言 274

12.1 CPU与GPU 275

12.2 GPU的并行计算 276

12.3 GPU的向量计算SIMD 277

12.4 CPU与GPU的同步 278

12.5 着色器的版本与历史 279

12.6 着色器的使用 280

12.7 HLSL工作模型 281

12.8 编写HLSL着色器 283

12.9 编译HLSL着色器 285

12.10 HLSL变量类型 288

12.10.1 标量类型 288

12.10.2 向量类型 288

12.10.3 矩阵类型 289

12.10.4 数组 290

12.10.5 结构体 291

12.10.6 typedef关键字 291

12.10.7 变量前缀 291

12.11 HLSL关键字、语句和强制转换 292

参考文献 297

相关图书
作者其它书籍
返回顶部