标题：游戏编程精粹。7
图书信息
出版社: 人民邮电出版社; 第1版 (2010年7月1日)
外文书名: Game Programming Gems 7
平装: 411页
正文语种: 简体中文
开本: 16
ISBN: 9787115229144, 7115229147
条形码: 9787115229144
尺寸: 26 x 19.2 x 2.8 cm
重量: 762 g
作者简介
译者：项周臻 陶绍武 等 编者：（美国）Scott Jacobs 合著者：沙鹰 陈虎 等
沙鹰，目前在腾讯互动娱乐部门工作，之前曾在EA上海、EA加拿大、JAMDAT加拿大和UbiSoft上海工作，毕业于南京大学计算机系，是本次翻译特邀监制。
Scott Jacobs从1995年起就在游戏行业工作了。当前他是Destineer的高级软件工程师。在进入Destineer之前，他作为软件工程师在严肃游戏公司Virtual Heroes，以及包括Redstorm Entertainment在内的两家Ubisoftm作室工作，并在Interactive Magic.E.式进入游戏开发行业。他也是《游戏编程精粹6》中网络和多人游戏章节的编辑。他现在与他的妻子以及一些小动物住在北卡罗来纳。
内容简介
《游戏编程精粹.7》是游戏编程精粹系列的最新一本，内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系统等内容，具有较强的先进性和通用性。随书附带光盘中提供了《游戏编程精粹.7》的源程序、演示程序以及需要的各种游戏开发的第三方工具。
因此，无论你是一个刚刚起步的游戏开发新手，还是资深业界专家，都能够在《游戏编程精粹.7》中找到灵感，增强洞察力及开发的技能。将书中介绍的开发经验和技巧应用于实际项目中，将缩短开发时间，提高效率。
目录
第1章 通用编程
简介 2
Adam Lake, 图形软件架构师，高级视觉计算(AVC)小组，英特尔
1.1 使用年龄和成本指标的高效率缓存替换 3
Colt“MainRoach”McAnlis，微软Ensemble工作室
1.1.1 概述 3
1.1.2 缓存替换算法 4
1.1.3 年龄和成本指标 5
1.1.4 结论 9
1.1.5 致谢 10
1.1.6 参考文献 10
1.2 高性能堆分配器 11
Dimitar Lazarov, Luxoflux
1.2.1 简介 11
1.2.2 相关工作 11
1.2.3 我们的解决方案 12
1.2.4 参考文献 18
1.3 用网络摄像头玩的视频游戏的光流 19
1.3.1 简介 19
1.3.2 OpenCV代码 20
1.3.3 第一种方法：图像差异 21
1.3.4 第二种方法：运动历史 21
1.3.5 第三种方法：Lucas-Kanade算法 22
1.3.6 光流游戏 23
1.3.7 参考文献 25
1.4 一个多平台线程引擎的设计与实现 26
1.4.1 一个实用线程架构的系统设计 26
1.4.2 线程 28
1.4.3 线程分配策略 30
1.4.4 对象的线程 31
1.4.5 线程的安全性、重新进入、对象同步和数据访问 32
1.4.6 使用缓存线(或缓存的一致性) 32
1.4.7 如何使用GLRThreading库 32
1.4.8 结论 34
1.4.9 参考文献 34
1.5 给蜜蜂和游戏玩家：如何处理六边形贴片 35
1.5.1 简介 35
1.5.2 六边形贴片的利弊 35
1.5.3 掌握六边形网格 38
1.5.4 实现技巧 39
1.5.5 应用 40
1.5.6 结论 42
1.5.7 参考文献 42
1.6 服务于即时战略游戏的基于细胞多孔机器(Cellular Automaton)的线条主界面 43
1.6.1 关注上下文的控制等级 44
1.6.2 实现细节 45
1.6.3 结论 49
1.6.4 参考文献 49
1.7 第一人称射击游戏的脚步导航技术 50
1.7.1 介绍 50
1.7.2 用脚来导航 51
1.7.3 一个简单的游戏 55
1.7.4 玩家测试 56
1.7.5 结论 57
1.7.6 以后的工作 57
1.7.7 致谢 57
1.8 推迟函数调用的唤醒系统 58
1.8.1 时间问题 58
1.8.2 案例分析 59
1.8.3 对函数调用分类 60
1.8.4 检视这个系统 60
1.8.5 结论 61
1.8.6 参考文献 61
1.9 多线程任务和依赖系统 62
1.9.1 介绍 62
1.9.2 任务系统 63
1.9.3 依赖性管理器 66
1.9.4 后续的工作 68
1.9.5 结论 69
1.9.6 参考文献 70
1.10 高级调试技术 71
1.10.1 程序崩溃 71
1.10.2 内存泄露 74
1.10.3 Windows错误汇报(WER) 75
1.10.4 框架 76
1.10.5 结论 77
1.10.6 参考文献 78
第2章 数学和物理
简介 80
2.1 随机数生成 82
2.1.1 背景：随机数生成 82
2.1.2 随机性测试 84
2.1.3 软件漂白 84
2.1.4 不加密随机数生成算法 85
2.1.5 加密RNG方法 89
2.1.6 创造随机数生成器的常见错误 90
2.1.7 代码 91
2.1.8 结论 91
2.1.9 参考文献 91
2.2 游戏中的快速通用光线查询 93
2.2.1 光线追踪介绍 93
2.2.2 K维树概念和存储考虑 94
2.2.3 动态物体 101
2.2.4 示例程序 101
2.2.5 结论 102
2.2.6 参考文献 102
2.3 使用最远特性图的快速刚体碰撞检测 103
2.3.1 背景 103
2.3.2 预处理 104
2.3.3 运行时查询 106
2.3.4 性能分析和结束语 107
2.3.5 致谢 107
2.3.6 参考文献 108
2.4 使用投影空间来提高几何计算精度 109
2.4.1 投影空间 109
2.4.2 R2空间中的基本对象 110
2.4.3 RP2空间中的点和直线 110
2.4.4 在RP2空间中的基本运算 111
2.4.5 在RP2空间中使用整数坐标进行精确的几何运算 112
2.4.6 在RP2空间中几何运算的数值范围限制 112
2.4.7 RP2空间运算的例子程序 114
2.4.8 拓展到第三维 116
2.4.9 结论 117
2.4.10 参考文献 117
2.5 使用XenoCollide算法简化复杂的碰撞 118
2.5.1 介绍 118
2.5.2 用支撑映射来表示形体 119
2.5.3 使用闵可夫斯基(Minkowski)差异来简化碰撞检测 121
2.5.4 使用闵可夫斯基入口简化(Minkowski Portal Refinement, MPR)来检测碰撞 122
2.5.5 使用MPR算法得到相交信息 125
2.5.6 结论 126
2.5.7 致谢 126
2.5.8 参考文献 126
2.6 使用变换语义的高效碰撞检测 128
2.6.1 仿射变换和游戏 128
2.6.2 从矩阵中抽取语义 129
2.6.3 在碰撞检测中使用变换语义 131
2.6.4 结论 134
2.6.5 参考文献 135
2.7 三角样条 136
2.7.1 背景知识 136
2.7.2 讨论 139
2.7.3 结论 139
2.7.4 参考文献 140
2.8 使用高斯随机性来拟真发射轨迹的变化 141
2.8.1 高斯分布 141
2.8.2 生成高斯随机性 142
2.8.3 其他应用 144
2.8.4 自然中的高斯分布 144
2.8.5 结论 144
2.8.6 参考文献 145
第3章 人工智能
第4章 音频
第5章 图形学
第6章 网络和多人游戏
第7章 脚本和数据驱动系统