内容简介
3D游戏编程大师技巧(套装共2册)+游戏人工智能编程案例精粹(修订版)2本
9787115282798
9787115291134
3D游戏编程大师技巧(套装共2册)
- 出版社: 人民邮电出版社; 第1版 (2012年7月13日)
- 外文书名:
- 丛书名:
- 平装: 1086页
- 语种: 简体中文
- 开本: 16
- ISBN: 9787115282798
- 条形码: 9787115282798
- 商品尺寸: 23.8 x 18.8 x 4.8 cm
- 商品重量: 1.6 Kg
目录
(上册)
第一部分 3D游戏编程简介
第1章 3D游戏编程入门 2
1.1 简介 2
1.2 2D/3D游戏的元素 3
1.2.1 初始化 4
1.2.2 进入游戏循环 4
1.2.3 读取玩家输入 4
1.2.4 执行AI和游戏逻辑 4
1.2.5 渲染下一帧 4
1.2.6 同步显示 5
1.2.7 循环 5
1.2.8 关闭 5
1.3 通用游戏编程指南 7
1.4 使用工具 11
1.4.1 3D关卡编辑器 14
1.4.2 使用编译器 15
1.5 一个3D游戏范例:Raiders 3D 17
1.5.1 事件循环 37
1.5.2 核心3D游戏逻辑 38
1.5.3 3D投影 39
1.5.4 星空 41
1.5.5 激光炮和碰撞检测 41
1.5.6 爆炸 41
1.5.7 玩Raiders3D 41
1.6 总结 41
第2章 Windows和DirectX 简明教程 43
2.1 Win32编程模型 43
2.2 Windows程序的最小需求 44
2.3 一个基本的Windows应用程序 48
2.3.1 Windows类 49
2.3.2 注册Windows类 53
2.3.3 创建窗口 53
2.3.4 事件处理程序 55
2.3.5 主事件循环 59
2.3.6 构建实时事件循环 63
2.4 DirectX和COM简明教程 64
2.4.1 HEL和HAL 65
2.4.2 DirectX基本类 66
2.5 COM简介 67
2.5.1 什么是COM对象 68
2.5.2 创建和使用DirectX COM接口 70
2.5.3 查询接口 70
2.6 总结 72
第3章 使用虚拟计算机进行3D游戏编程 73
3.1 虚拟计算机接口简介 73
3.2 建立虚拟计算机接口 75
3.2.1 帧缓存和视频系统 75
3.2.2 使用颜色 78
3.2.3 缓存交换 80
3.2.4 完整的虚拟图形系统 82
3.2.5 I/O、声音和音乐 82
3.3 T3DLIB游戏控制台 83
3.3.1 T3DLIB系统概述 83
3.3.2 基本游戏控制台 83
3.4 T3DLIB1库 89
3.4.1 DirectX图形引擎体系结构 89
3.4.2 基本常量 89
3.4.3 工作宏 91
3.4.4 数据类型和结构 92
3.4.5 函数原型 95
3.4.6 全局变量 99
3.4.7 DirectDraw接口 100
3.4.8 2D多边形函数 103
3.4.9 数学函数和错误函数 110
3.4.10 位图函数 111
3.4.11 8位调色板函数 115
3.4.12 实用函数 118
3.4.13 BOB(Blitter对象)引擎 119
3.5 T3DLIB2 DirectX输入系统 126
3.6 T3DLIB3声音和音乐库 131
3.6.1 头文件 132
3.6.2 类型 132
3.6.3 全局变量 133
3.6.4 DirectSound API封装函数 133
3.6.5 DirectMusic API封装函数 138
3.7 建立最终的T3D游戏控制台 140
3.7.1 映射真实图形到虚拟接口的非真实图形 141
3.7.2 最终的T3DLIB游戏控制台 143
3.8 范例T3LIB应用程序 152
3.8.1 窗口应用程序 152
3.8.2 全屏应用程序 153
3.8.3 声音和音乐 154
3.8.4 处理输入 154
3.9 总结 157
第二部分 3D数学和变换
第4章 三角学、向量、矩阵和四元数 160
4.1 数学表示法 160
4.2 2D坐标系 161
4.2.1 2D笛卡尔坐标 161
4.2.2 2D极坐标 163
4.3 3D坐标系 165
4.3.1 3D笛卡尔坐标 165
4.3.2 3D柱面坐标 168
4.3.3 3D球面坐标 168
4.4 三角学 170
4.4.1 直角三角形 171
4.4.2 反三角函数 172
4.4.3 三角恒等式 173
4.5 向量 173
4.5.1 向量长度 174
4.5.2 归一化 174
4.5.3 向量和标量的乘法 175
4.5.4 向量加法 176
4.5.5 向量减法 176
4.5.6 点积 177
4.5.7 叉积 179
4.5.8 零向量 180
4.5.9 位置和位移向量 180
4.5.10 用线性组合表示的向量 181
4.6 矩阵和线性代数 182
4.6.1 单位矩阵 183
4.6.2 矩阵加法 184
4.6.3 矩阵的转置 184
4.6.4 矩阵乘法 184
4.6.5 矩阵运算满足的定律 186
4.7 逆矩阵和方程组求解 186
4.7.1 克来姆法则 188
4.7.2 使用矩阵进行变换 190
4.7.3 齐次坐标 191
4.7.4 应用矩阵变换 192
4.8 基本几何实体 198
4.8.1 点 198
4.8.2 直线 199
4.8.3 平面 202
4.9 使用参数化方程 206
4.9.1 2D参数化直线 206
4.9.2 3D参数化直线 208
4.10 四元数简介 213
4.10.1 复数理论 213
4.10.2 超复数 218
4.10.3 四元数的应用 223
4.11 总结 226
第5章 建立数学引擎 227
5.1 数学引擎概述 227
5.1.1 数学引擎的文件结构 228
5.1.2 命名规则 228
5.1.3 错误处理 229
5.1.4 关于C++的最后说明 229
5.2 数据结构和类型 229
5.2.1 向量和点 230
5.2.2 参数化直线 231
5.2.3 3D平面 232
5.2.4 矩阵 233
5.2.5 四元数 236
5.2.6 角坐标系支持 237
5.2.7 2D极坐标 237
5.2.8 3D柱面坐标 238
5.2.9 3D球面坐标 239
5.2.10 定点数 239
5.3 数学常量 240
5.4 宏和内联函数 242
5.4.1 通用宏 246
5.4.2 点和向量宏 246
5.4.3 矩阵宏 247
5.4.4 四元数 249
5.4.5 定点数宏 249
5.5 函数原型 250
5.6 全局变量 253
5.7 数学引擎API清单 253
5.7.1 三角函数 254
5.7.2 坐标系支持函数 255
5.7.3 向量支持函数 258
5.7.4 矩阵支持函数 266
5.7.5 2D和3D参数化直线支持函数 277
5.7.6 3D平面支持函数 281
5.7.7 四元数支持函数 285
5.7.8 定点数支持函数 293
5.7.9 方程求解支持函数 298
5.8 浮点单元运算初步 300
5.8.1 FPU体系结构 301
5.8.2 FPU堆栈 302
5.8.3 FPU指令集 303
5.8.4 经典指令格式 306
5.8.5 内存指令格式 306
5.8.6 寄存器指令格式 307
5.8.7 寄存器弹出指令格式 307
5.8.8 FPU范例 307
5.8.9 FLD范例 308
5.8.10 FST范例 308
5.8.11 FADD范例 310
5.8.12 FSUB范例 312
5.8.13 FMUL范例 313
5.8.14 FDIV范例 314
5.9 数学引擎使用说明 315
游戏控制台 317
5.10 关于数学优化的说明 317
5.11 总结 317
第6章 3D图形学简介 318
6.1 3D引擎原理 318
6.2 3D游戏引擎的结构 319
6.2.1 3D引擎 319
6.2.2 游戏引擎 320
6.2.3 输入系统和网络 320
6.2.4 动画系统 321
6.2.5 碰撞检测和导航系统 324
6.2.6 物理引擎 325
6.2.7 人工智能系统 326
6.2.8 3D模型和图像数据库 327
6.3 3D坐标系 328
6.3.1 模型(局部)坐标 328
6.3.2 世界坐标 331
6.3.3 相机坐标 334
6.3.4 有关相机坐标的说明 341
6.3.5 隐藏物体(面)消除和裁剪 342
6.3.6 透视坐标 347
6.3.7 流水线终点:屏幕坐标 356
6.4 基本的3D数据结构 363
6.4.1 表示3D多边形数据时需要考虑的问题 363
6.4.2 定义多边形 365
6.4.3 定义物体 369
6.4.4 表示世界 373
6.5 3D工具 374
动画数据和运动数据 375
6.6 从外部加载数据 375
6.6.1 PLG文件 375
6.6.2 NFF文件 378
6.6.3 3D Studio文件 381
6.6.4 Caligari COB文件 387
6.6.5 Microsoft DirectX .X文件 389
6.6.6 3D文件格式小结 389
6.7 基本刚性变换和动画 389
6.7.1 3D平移 389
6.7.2 3D旋转 390
6.7.3 3D变形 392
6.8 再看观察流水线 393
6.9 3D引擎类型 394
6.9.1 太空引擎 394
6.9.2 地形引擎 395
6.9.3 FPS室内引擎 396
6.9.4 光线投射和体素引擎 397
6.9.5 混合引擎 398
6.10 将各种功能集成到引擎中 399
6.11 总结 399
第7章 渲染3D线框世界 400
7.1 线框引擎的总体体系结构 400
7.1.1 数据结构和3D流水线 401
7.1.2 主多边形列表 403
7.1.3 新的软件模块 406
7.2 编写3D文件加载器 406
7.3 构建3D流水线 414
7.3.1 通用变换函数 414
7.3.2 局部坐标到世界坐标变换 420
7.3.3 欧拉相机模型 423
7.3.4 UVN相机模型 426
7.3.5 世界坐标到相机坐标变换 437
7.3.6 物体剔除 440
7.3.7 背面消除 444
7.3.8 相机坐标到透视坐标变换 446
7.3.9 透视坐标到屏幕(视口)坐标变换 451
7.3.10 合并透视变换和屏幕变换 455
7.4 渲染3D世界 457
7.5 3D演示程序 461
7.5.1 单个3D三角形 461
7.5.2 3D线框立方体 464
7.5.3 消除了背面的3D线框立方体 466
7.5.4 3D坦克演示程序 467
7.5.5 相机移动的3D坦克演示程序 470
7.5.6 战区漫步演示程序 472
7.6 总结 476
(下册)
第三部分 基本3D渲染
第8章 基本光照和实体造型 478
8.1 计算机图形学的基本光照模型 478
8.1.1 颜色模型和材质 480
8.1.2 光源类型 487
8.2 三角形的光照计算和光栅化 493
8.2.1 为光照做准备 497
8.2.2 定义材质 498
8.2.3 定义光源 502
8.3 真实世界中的着色 507
8.3.1 16位着色 507
8.3.2 8位着色 507
8.3.3 一个健壮的用于8位模式的RGB模型 508
8.3.4 一个简化的用于8位模式的强度模型 511
8.3.5 固定着色 515
8.3.6 恒定着色 517
8.3.7 Gouraud着色概述 533
8.3.8 Phong着色概述 535
8.4 深度排序和画家算法 535
8.5 使用新的模型格式 540
8.5.1 分析器类 540
8.5.2 辅助函数 543
8.5.3 3D Studio MAX ASCII格式.ASC 546
8.5.4 TrueSpace ASCII.COB格式 548
8.5.5 Qu
3D游戏编程大师技巧(套装共2册)+游戏人工智能编程案例精粹(修订版)2本 电子书 下载 mobi epub pdf txt