《DirectX游戏编程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:王鹏杰,李威,王聪编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111293316
  • 页数:273 页
图书介绍:本书是DirectX游戏编程的入门教材。

第1章 3D游戏开发的数学基础 1

1.1点和向量 1

1.1.1点 1

1.1.2向量 2

1.2直线与平面 4

1.2.1直线方程 4

1.2.2平面方程 6

1.2.3直线与平面、平面与平面之间的关系 7

1.3矩阵与坐标变换 8

1.3.1矩阵 8

1.3.2二维几何变换 9

1.3.3齐次坐标 11

1.3.4三维几何变换 12

1.3.5投影变换 14

1.3.6裁剪操作 16

1.4坐标系 16

第2章 DirectX快速入门 19

2.1 DirectX概述 19

2.1.1 DirectX的由来 19

2.1.2版本与功能 19

2.2 Direct3D底层结构概述 22

2.2.1硬件抽象层 22

2.2.2硬件模拟层 23

2.2.3系统组成及相互关系 23

2.2.4 Direct3D对象和Direct 3D设备对象 24

2.3 DirectX 9.0的配置和安装 25

2.3.1 DirectX 9.0安装 25

2.3.2选择调试或发布库 28

2.3.3集成开发环境的配置 29

第3章 DirectX程序框架 32

3.1 Win32+C+Direct3 D的基础框架 32

3.1.1创建新项目 32

3.1.2初始化Direct3D 35

3.1.3渲染函数 39

3.1.4结束处理 41

3.1.5消息处理 41

3.1.6程序入口 42

3.2 DXUT框架 44

3.2.1创建一个DXUT框架 44

3.2.2 EmptyProject.cpp文件代码分析 47

3.2.3 DXUT框架的生命周期 54

第4章 文本显示 55

4.1文本绘制流程 55

4.2 Win32程序框架实现 55

4.2.1创建字体对象 56

4.2.2绘制文本 57

4.2.3释放字体对象 58

4.3 DXUT程序框架实现 60

4.3.1创建字体对象 60

4.3.2绘制文本 61

第5章 基本图形的绘制 63

5.1图元 63

5.1.1点列表 64

5.1.2线段列表 64

5.1.3线段条带 64

5.1.4三角形列表 64

5.1.5三角形条带 64

5.1.6三角形扇 65

5.2坐标系 66

5.3灵活顶点格式(FVF) 66

5.4使用顶点缓存绘制图形 67

5.4.1创建顶点缓存 67

5.4.2访问顶点缓存 69

5.4.3使用顶点缓存绘制图形 70

5.5索引缓存 71

5.5.1创建索引缓存 71

5.5.2访问索引缓存 71

5.5.3使用索引缓存绘制图形 72

5.5.4获取顶点和索引缓存信息 73

5.6颜色表示法 73

5.7渲染状态 76

5.7.1着色模式 76

5.7.2多边形填充模式 78

5.8绘制准备 79

5.9 D3DX几何物体 80

5.10实例设计与实现 81

5.10.1基本图元的绘制实例 81

5.10.2使用索引缓存绘制实例 87

第6章 变换 92

6.1摄像机 92

6.2顶点变换 93

6.2.1局部坐标系 94

6.2.2世界坐标系 94

6.2.3观察坐标系 97

6.2.4光源 99

6.2.5投影变换 99

6.2.6友好的投影矩阵 102

6.2.7视口变换 103

6.3光栅化 104

6.4实例 104

6.4.1移动线框正方体实例 104

6.4.2不同颜色的正方体实例 108

第7章 光照和材质 111

7.1真实感图形基本概念 111

7.2 Direct3D中的光照 111

7.2.1光照的组成 111

7.2.2光源 113

7.2.3光源的设定 115

7.3 Direct3D中的材质 116

7.3.1材质定义 116

7.3.2材质设置 116

7.4光照和材质小结 117

7.5光照和材质例子 118

7.5.1光源例子——SimpleLighting 118

7.5.2材质例子——MultiMaterial 126

第8章 纹理映射 140

8.1纹理贴图 140

8.2纹理坐标 141

8.3纹理寻址模式 142

8.3.1重叠纹理寻址模式 143

8.3.2镜像纹理寻址模式 143

8.3.3钳位纹理寻址模式 143

8.3.4边界颜色纹理寻址模式 144

8.3.5一次镜像纹理寻址模式 144

8.3.6设置纹理模式 145

8.4纹理过滤 146

8.4.1最近点采样 146

8.4.2线性纹理过滤 146

8.4.3各向异性纹理过滤 147

8.4.4 Mipmap纹理过滤 147

8.4.5设置纹理过滤方式 148

8.5纹理混合状态 150

8.6纹理实例解析 152

8.6.1纹理过程 152

8.6.2纹理过程流程图 153

8.6.3纹理寻址实例 153

8.6.4纹理过滤方式实例 158

第9章 深度测试和反走样 161

9.1深度缓存与深度测试 162

9.1.1创建深度缓存 162

9.1.2激活深度测试 162

9.1.3设置深度测试函数 163

9.1.4更新深度缓存 163

9.2图形反走样 163

9.2.1检测设备是否支持多重采样 163

9.2.2启用多重采样的全景图形反走样 164

9.3深度测试实例 164

9.4反走样实例 170

第10章 网格(一) 172

10.1 ID3 DXMesh 172

10.2子集和属性缓存 173

10.3绘制 174

10.4邻接信息 174

10.5优化 175

10.6属性表 177

10.7创建一个Mesh 178

10.8例子:从已有的顶点序列中创建一个网格 179

第11章 网格(二) 187

11.1 X文件格式解析 187

11.2读取X文件 192

11.3 X文件的材质 193

11.4读X文件例子 193

11.5渐进网格 197

11.5.1产生一个渐进网格 198

11.5.2 ID3 DXPMesh方法 198

11.6渐进网格例子 199

第12章 混合和模板 203

12.1混合因子 203

12.2混合计算 204

12.2.1启用Alpha混合 205

12.2.2设置Alpha混合因子 205

12.2.3设置Alpha混合方法 205

12.3 Alpha来源 206

12.3.1顶点Alpha 206

12.3.2材质Alpha 206

12.3.3纹理Alpha 206

12.4 Alpha测试 207

12.5 Alpha混合实例 208

12.5.1顶点Alpha实例 208

12.5.2纹理Alpha实例 209

12.6模板 210

12.6.1模板缓存的格式 210

12.6.2模板测试 210

12.6.3模板绘制状态 211

12.6.4模板实例解析 212

第13章 着色器入门 218

13.1着色器概述 218

13.1.1顶点着色器和像素着色器 219

13.1.2手法和渲染路径 219

13.1.3 GLSL与HLSL的比较 220

13.1.4 Cg与HLSL的比较 220

13.2 HLSL的变量 220

13.2.1标量 220

13.2.2向量 220

13.2.3矩阵 221

13.2.4对象 222

13.2.5结构体 223

13.2.6用户自定义类型 223

13.2.7变量类型的转换 223

13.2.8修饰变量的关键字 224

13.2.9变量重组 225

13.3 HLSL的函数 226

13.3.1内置函数 226

13.3.2自定义函数 227

13.4 HLSL基本语法 228

13.4.1数学表达式 228

13.4.2 HLSL的关键字和保留字 229

13.5在Direct3 D中使用HLSL 230

13.5.1简单的实例 230

13.5.2版本的查询 230

第14章 顶点着色器 232

14.1顶点着色器概述 232

14.2顶点声明 233

14.2.1描述顶点声明 233

14.2.2创建和使用顶点声明 236

14.2.3顶点声明与HLSL输入 236

14.3使用顶点着色器 237

14.3.1编写并编译顶点着色器程序 238

14.3.2创建顶点着色器 238

14.3.3设置顶点着色器 238

14.3.4销毁顶点着色器 238

14.4顶点着色器实例1:TeapotVS 239

14.5顶点着色器实例2:渐变动画MorphingVS 243

第15章 像素着色器 250

15.1像素着色器概述 250

15.2使用像素着色器 251

15.2.1测定像素着色器的支持 251

15.2.2编译像素着色器 251

15.2.3创建像素着色器接口 251

15.2.4设置像素着色器 252

15.2.5销毁像素着色器接口 252

15.3 HLSL采样器对象 252

15.4多重纹理 253

15.4.1允许多个纹理 254

15.4.2编写顶点结构 255

15.5例子程序:像素着色器实现多纹理MultiTex 255

第16章 一个游戏实例 262

16.1前言 262

16.2游戏整体架构 262

16.3游戏初始化 263

16.3.1逻辑模块初始化 263

16.3.2渲染模块初始化 264

16.3.3声效模块初始化 265

16.4场景渲染 266

16.5游戏控制 269

16.6声效控制 271

参考文献 273