书名:Direct3D游戏编程入门教程
编号:2412777
ISBN:9787115129734[十位:7115129738]
作者:[德]Wolfgang F.Engel
出版社:人民邮电出版社
出版日期:2005年01月
页数:327
定价:46.00 元
参考重量:0.450Kg
-------------------------
图书情况:正版二手旧书,绝不影响正常阅读!
绝无缺页少页,发货前再次检查,请放心购买!
* 内容提要 *
本书是基于DirectX 9.0编写的,是介绍Direct3D技术的入门教程。它详细介绍了Direct3D的背景、基本知识以及3D程序设计的相关概念与技术。全书由浅入深,分为四个部分,第一部分介绍Direct3D的发展历史和基本知识,对3D程序设计中的术语、概念进行了深入讲解;第二部分着重讨论纹理映射技术,包括多重纹理等;第三部分通过多个示例来探讨高级shader编程,并对.MD3文件格式做了详细分析;第四部分是附录,对本书中用到的概念和技术背景进行了简单补充。
本书适用于略有DirectX基础的C/C++程序员学习Direct3D游戏开发,也适用于具有Direct3D开发经验的程序员参考。
* 图书目录 *
第1部分 DirectX图形:Don't Hurt Me
第1章 Direct3D/DirectX的历史 3
1.1 DirectX 2.0 3
1.2 DirectX 6/7 4
1.3 DirectX 8 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 DirectX 9 6
1.5 小结 7
第2章 HAL和COM概述 8
2.1 硬件抽象层(Hardware Abstraction Layer,HAL) 8
2.2 插件式软件设备(Pluggable Software Device) 11
2.3 参考光栅器(Reference Rasterizer) 12
2.4 设备控制 12
2.5 COM 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.1 3D基础 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章 基础 31
5.1 编译示例 31
5.2 DirectX Graphics通用体系结构 33
5.3 Basic示例 34
5.3.1 ConfirmDevice()、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图形编程
第7章 纹理映射基础 109
7.1 纹理的要点是什么 109
7.2 使用纹理坐标 112
7.3 使用纹理寻址模式(texture-addressing mode) 114
7.3.1 包装纹理寻址模式 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
第8章 使用多重纹理 130
8.1 多次渲染(Multipass Rendering) 130
8.2 颜色操作 133
8.2.1 黑暗映射(Dark Mapping) 134
8.2.2 黑暗贴图动画 136
8.2.3 混合纹理与材质漫反射颜色 137
8.2.4 混合黑暗贴图与材质漫反射颜色 139
8.2.5 发光映射(Glow Mapping) 140
8.2.6 细节映射(Detail Mapping) 142
8.3 alpha操作 145
8.4 多重纹理支持 147
8.5 纹理管理 147
8.6 附加资源 148
8.7 小结 148
8.8 第二部分提问 149
第3部分 DirectX图形编程核心
第9章 使用高级Shader语言进行 Shader编程 155
9.1 开始HLSL编程前需要先做些什么 156
9.2 顶点/像素Shader的任务 157
9.3 通过HLSL实现常用光照公式 158
9.3.1 环境光照 158
9.3.2 漫反射光照 160
9.3.3 镜面反射光照 163
9.3.4 自身遮蔽阴影项(Self-Shadowing Term) 167
9.3.5 凹凸映射(Bump Mapping) 168
9.3.6 点光(Point Light) 170
9.4 小结 171
第10章 更多高级的Shader效果 172
10.1 使用立方体贴图 172
10.1.1 生成立方体贴图 173
10.1.2 访问立方体贴图 173
10.2 实现 174
10.3 折射/反射环境映射 176
10.3.1 动态折射/折射环境映射 178
10.3.2 凹凸的动态折射/反射环境映射 181
10.4 使用阴影 183
10.4.1 阴影体(Shadow Volume) 184
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
11.2.3 网格材质列表 201
11.2.4 法线 203
11.2.5 纹理 204
11.2.6 变换矩阵 209
11.2.7 动画 212
11.3 使用X文件 215
11.4 扩展X文件 217
11.5 附加资源 218
11.5.1 X文件格式 218
11.5.2 蒙皮网格(Skinned Mesh) 218
11.6 小结 218
第12章 使用*.md3文件 219
12.1 文件格式探索 219
12.1.1 Animation.cfg 223
12.1.2 .skin文件 225
12.1.3 纹理与Shader文件 226
12.1.4 自定义声音 231
12.1.5 .md3格式 232
12.2 CharacterEngine示例程序 235
12.3 更多的改进 258
12.4 附加资源 258
12.5 小结 258
第4部分 附录
附录A Windows游戏编程基础 261
A.1 如何看待窗口 261
A.2 Windows如何与你的游戏交互 261
A.3 窗口的组成部分 262
A.4 窗口框架 262
A.4.1 步骤1:定义一个窗口类 266
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
B.1.9 多态性 299
B.1.10 内联(inline)函数 300
B.1.11 C++相对与C增强的内容 301
B.2 附加资源 306
附录C 数学入门 307
C.1 3D中的点(Point) 307
C.2 向量(Vector) 309
C.2.1 受限向量(Bound Vector) 309
C.2.2 自由向量(Free Vector) 310
C.2.3 单位向量(Unit Vector) 315
C.3 矩阵 315
C.3.1 矩阵与向量的乘法 316
C.3.2 矩阵加法和减法 317
C.3.3 矩阵乘法 317
C.3.4 平移矩阵 318
C.3.5 缩放矩阵 318
C.3.6 旋转矩阵 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
* 文章节选 *
暂无相关介绍
* 编辑推荐与评论 *
暂无相关介绍
* 作者介绍 *
暂无相关介绍
-
暂无评论。