《游戏编程精粹-7-附光盘》

《游戏编程精粹-7-附光盘》 《游戏编程精粹-7-附光盘》

  • 书名:《游戏编程精粹-7-附光盘》
  • 分类:编程
  • 作者:(美)Scott Jacobs
  • 出版社:人民邮电出版社
  • 出版年:2010 年7月
  • 售价:69.00元
  • 页码:411

《游戏编程精粹-7-附光盘》 内容介绍:

本书是游戏编程精粹系列的最新一本,内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系统等内容,具有较强的先进性和通用性。随书附带光盘中提供了本书的源程序、演示程序以及需要的各种游戏开发的第三方工具。 因此,无论你是一个刚刚起步的游戏开发新手,还是资深业界专家,都能够在本书中找到灵感,增强洞察力及开发的技能。将书中介绍的开发经验和技巧应用于实际项目中,将缩短开发时间,提高效率。

作者(美)Scott Jacobs介绍:

Scott Jacobs从1995年起就在游戏行业工作了。当前他是Destineer的高级软件工程师。在进入Destineer之前,他作为软件工程师在严肃游戏公司VirtuaI Heroes,以及包括Redstorm Entertainment在内的两家Ubisoft工作室工作,并在Interactive Magic正式进入游戏开发行业。他也是《游戏编程精粹6》中网络和多人游戏章节的编辑。他现在与他的妻子以及一些小动物住在北卡罗来纳。

《游戏编程精粹-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
Arnau Ramisa, Institut d’Investigació en Intelligència Artificial
Enric Vergara, GeoVirtual
.Enric Martí, Universitat Autónoma de Barcelona
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
Michael Ramsey
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
Thomas Jahn, King Art
Jorn Loviscach, Hochschule Bremen
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
Carlos A. Dietrich
Luciana P. Nedel
Jooo L. D. Comba
1.6.1 关注上下文的控制等级 44
1.6.2 实现细节 45
1.6.3 结论 49
1.6.4 参考文献 49
1.7 第一人称射击游戏的脚步导航技术 50
Marcus Aurelius C. Farias
Daniela G. Trevisan
Luciana P. Nedel
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
Mark Jawad, Nintendo of America Inc
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
Julien Hamaide
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
Martin Fleisz
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
Graham Rhodes, Applied Research
Associates, Inc.
2.1 随机数生成 82
Chris Lomont
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
Jacco Bikker, IGAD/NHTV University of Applied Sciences——Breda, The Netherlands
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
Rahul Sathe, Advanced Visual Computing, SSG,IntelCorp.
Dillon sharlet,Univesity of Colorado at Boulder
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
Krzysztof Kluczek, Gda′nsk University of Technology
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
Gary Snethen, Crystal Dynamics
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
José Gilvan Rodrigues Maia, UFC
Creto Augusto Vidal, UFC
Joaquim Bento Cavalcante-Neto, UFC
2.6.1 仿射变换和游戏 128
2.6.2 从矩阵中抽取语义 129
2.6.3 在碰撞检测中使用变换语义 131
2.6.4 结论 134
2.6.5 参考文献 135
2.7 三角样条 136
Tony Barrera, Barrera Kristiansen AB
Anders Hast, Creative Media Lab,University of G?vle
Ewert Bengtsson, Centre For Image Analysis,Uppsala University
2.7.1 背景知识 136
2.7.2 讨论 139
2.7.3 结论 139
2.7.4 参考文献 140
2.8 使用高斯随机性来拟真发射轨迹的变化 141
Steve Rabin, Nintendo of America Inc.
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章 人工智能
简介 147
Brian Schwab
3.1 用行为克隆创建有趣的代理 149
John Harger
Nathan Fabian
3.1.1 实例:The Demo Game 149
3.1.2 结论 154
3.1.3 参考文献 155
3.2 设计一种真实并且统一的代理感知模型 156
Steve Rabin, Nintendo of America Inc.
Michael Delp, WXP Inc.
3.2.1 基本视觉模型 156
3.2.2 基本听觉模型 157
3.2.3 用椭圆扩充视觉模型工具箱 158
3.2.4 用确定性模拟人类视觉 159
3.2.5 用确定性模拟人类听觉 161
3.2.6 统一的感知模型 162
3.2.7 为统一感知模型添加记忆 163
3.2.8 结论 163
3.2.9 参考文献 163
3.3 管理AI算法复杂度:泛型编程方法 165
Iskander Umarov
Antoli Beliaev.
3.3.1 介绍 165
3.3.2 行为选择工作流程 166
3.3.3 实现 172
3.3.4 结论 178
3.3.5 参考文献 178
3.4 有关态度的一切:为意见、声望和NPC个性构建单元 180
Michael F.Lynch, Ph.D.,Rensselaer Polytechnic Institute, Troy, NY
3.4.1 简介 180
3.4.2 态度 181
3.4.3 态度里有什么 182
3.4.4 复杂的态度对象 185
3.4.5 态度和行为 187
3.4.6 说服和影响 187
3.4.7 态度的社会交换 188
3.4.8 另一个例子 188
3.4.9 注意事项和结论 189
3.4.10 参考文献 190
3.5 用玩家追踪和交互玩家图来理解游戏AI 191
G. Michael Youngblood, UNC Charlotte
Priyesh N.Dixit, UNC Charlotte
3.5.1 简介 191
3.5.2 信息的价值 192
3.5.3 交互玩家图 197
3.5.4 行为的更深理解 201
3.5.5 结论 201
3.5.6 参考文献 202
3.6 面向目标的计划合并 204
Michael Dawe
3.6.1 回顾面向目标的计划系统 204
3.6.2 用于面向目标计划的计划合并 205
3.6.3 结论 208
3.6.4 参考文献 208
3.7 超越A*:IDA*和边缘搜索 209
Robert Kirk Delisle
3.7.1 A*和Dijkstra 210
3.7.2 迭代延伸A*(IDA*) 211
3.7.3 边缘搜索算法 212
3.7.4 结论 213
3.7.5 参考文献 213
第4章 音频
简介 215
Alexander Brandon
4.1 基于可编程图形硬件的音频信号处理 216
Mark France
4.1.1 GPGPU 编程概述 216
4.1.2 音频效果 217
4.1.3 室内效果 218
4.1.4 结论 219
4.1.5 参考文献 219
4.2 多流—编写次世代音频引擎的艺术 221
Jason Page, 索尼计算机娱乐公司欧洲分部
4.2.1 一切将如何开始 221
4.2.2 理解“次世代”音频 222
4.2.3 环绕声音 228
4.2.4 路由引导 231
4.2.5 结论 231
4.3 听仔细了,你应该不会再有机会听到这个了 233
Stephan Schütze
4.3.1 如何做到?采用不同的理念! 233
4.3.2 前进,砰! 234
4.3.3 旧的不去新的不来 236
4.3.4 称手利器 237
4.3.5 细节管理 238
4.3.6 为什么我们要再做一次 239
4.3.7 更进一步 239
4.3.8 结论 240
4.4 实时音频效果的运用 241
Ken Noland
4.4.1 声音系统的概览 242
4.4.2 声音缓存 243
4.4.3 分级缓存 244
4.4.4 效果和滤波器 245
4.4.5 压缩和流 246
4.4.6 结论 247
4.4.7 参考文献 247
4.5 上下文驱动,层叠混合 248
Robert Sparks
4.5.1 概述 248
4.5.2 实现 249
4.5.3 扩展实时调整的概念 252
4.5.4 效率 252
4.5.5 例子程序 253
4.5.6 结论 253
第5章 图形学
简介 255
Timothy E. Roden,Angelo State University
5.1 先进的粒子沉积 256
Jeremy Hayes,英特尔公司
5.1.1 为什么使用粒子 256
5.1.2 粒子沉积 256
5.1.3 改进粒子沉积 257
5.1.4 结论 263
5.1.5 参考文献 263
5.2 减少骨骼动画中的累积误差 264
Bill Budge,索尼娱乐美国分部
5.2.1 游戏动画系统的快速巡视 264
5.2.2 累积误差 265
5.2.3 结论 268
5.2.4 参考文献 268
5.3 粗糙材料漫反射光着色的另一个模型 269
Tony Barrera,Barrera Kristiansen AB
Anders Hast,创造媒体实验室,University of G?vle
Ewert Bengtsson,图像分析中心,Uppsala University
5.3.1 简介 269
5.3.2 平坦效果 270
5.3.3 后向散射 272
5.3.4 结论 273
5.3.5 参考文献 273
5.4 高效的细分表面 275
Chris Lomont
5.4.1 细分方案的介绍 275
5.4.2 Loop细分的特征和选项 276
5.4.3 细分数据结构 281
5.4.4 细分算法的细节 283
5.4.5 性能问题 286
5.4.6 结论 288
5.4.7 参考文献 288
5.5 用径向基函数纹理来替代动画浮雕 290
Vitor Fernando Pamplona,Instituto de Informática: UFRGS
Manuel M. Oliveira,Instituto de Informática: UFRGS
Luciana Porcher Nedel,Instituto de Informática: UFRGS
5.5.1 简介 290
5.5.2 图像扭曲 291
5.5.3 径向基函数 292
5.5.4 插值扭曲函数 292
5.5.5 使用着色器评估扭曲函数 293
5.5.6 动画浮雕贴图 294
5.5.7 动画浮雕替代 294
5.5.8 结果 296
5.5.9 结论 297
5.5.10 鸣谢 297
5.5.11 参考文献 297
5.6 SM1.1和更高版本上的裁剪贴图 299
Ben Garney
GarageGames
5.6.1 裁剪贴图的基本概念 299
5.6.2 裁剪贴图的实现 300
5.6.3 如果你想节约些时间…… 305
5.6.4 参考文献 306
5.7 一个先进的贴花系统 307
Joris Mans
Dmitry Andreev
5.7.1 要求 307
5.7.2 正常的贴花方法 307
5.7.3 先进的贴花方法 307
5.7.4 这个先进贴花系统的优势 310
5.7.5 性能和实验结果 312
5.7.6 演示 314
5.7.7 结论 314
5.7.8 参考文献 315
5.8 室外地形渲染的大纹理映射 316
Antonio Seoane, Javier Taibo, Luis Hernández, and Alberto Jaspe
VideaLAB, University of La Coru?a
5.8.1 简介 316
5.8.2 结构 317
5.8.3 更新缓存的内容 320
5.8.4 渲染问题 321
5.8.5 结果 323
5.8.6 结论 324
5.8.7 参考文献 324
5.9 基于艺术品的嫁接贴图渲染 325
Joshua A. Doss,先进的视觉计算,英特尔公司
5.9.1 资产 325
5.9.2 运行时 328
5.9.3 感谢 330
5.9.4 结论和未来的工作 330
5.9.5 参考文献 330
5.10 廉价的对话:动态实时口型同步(Lipsync) 331
Timothy E. Roden, Angelo State University
5.10.1 需求 331
5.10.2 一般过程 333
5.10.3 结论 336
5.10.4 参考文献 336
第6章 网络和多人游戏
简介 338
Diana Stelmack
6.1 游戏世界同步的高层抽象 339
Hyun-jik Baeb
6.1.1 HLA用法 340
6.1.2 游戏世界同步剖析 340
6.1.3 HLA组件 341
6.1.4 在HLA运行器中的视口 346
6.1.5 进一步讨论 348
6.1.6 结论 348
6.1.7 参考文献 348
6.2 网络游戏的身份验证 350
Jon Watte
6.2.1 介绍 350
6.2.2 游戏登录安全 350
6.2.3 保障游戏时安全 353
6.2.4 结论 354
6.2.5 参考文献 355
6.3 使用智能包嗅探器来调试游戏网络 357
David L. Koenig, The Whole Experience, Inc
6.3.1 智能包嗅探器概念 357
6.3.2 一个例子 357
6.3.3 传统调试技术的缺陷 358
6.3.4 实现 358
6.3.5 使用WinPcap库 359
6.3.6 降低安全风险 360
6.3.7 一个替代方案 361
6.3.8 例子程序 361
6.3.9 结论 361
6.3.10 参考文献 361
第7章 脚本和数据驱动系统
介绍 363
Scott Jacobs
Tom Forsyth
7.1 Lua自动绑定系统 364
Julien Hamaide
7.1.1 介绍 364
7.1.2 特性 364
7.1.3 函数的绑定 365
7.1.4 在Lua里的面向对象 365
7.1.5 在Lua里绑定C++对象 366
7.1.6 扩展绑定系统 371
7.1.7 结论 373
7.1.8 后续工作 374
7.1.9 例子 376
7.1.10 结论 376
7.1.11 参考文献 376
7.2 用内省(introspection)方式把C++对象序列化到数据库中 377
Joris Mans
7.2.1 元数据(Metadata) 377
7.2.2 数组 378
7.2.3 序列化成文本 378
7.2.4 数据库系统 378
7.2.5 例子 390
7.2.6 问题和将来的改进 390
7.2.7 结论 391
7.2.8 参考文献 391
7.3 数据端口 392
Martin Linklater
7.3.1 概述 392
7.3.2 类型安全 394
7.3.3 引用计数 394
7.3.4 实践例子 394
7.3.5 问题 395
7.3.6 结论 396
7.4 支持你本地的美术家:为你的引擎增加shader 397
Curtiss Murphy; Alion Science and Technology
7.4.1 shader专用名词  397
7.4.2 程序、参数和管理器,哦我的老天! 398
7.4.3 灵活性是关键 399
7.4.4 原型 400
7.4.5 shader参数 401
7.4.6 例子——飞艇目标 403
7.4.7 高级技术 405
7.4.8 后续工作 407
7.4.9 结论 407
7.4.10 参考文献 407
7.5 与蟒共舞 用好AST 408
邹光先
7.5.1 简介 408
7.5.2 背景 408
7.5.3 方案 409
7.5.4 结论 411
7.5.5 参考文献 411
关于本书附带光盘


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

Software Design 中文版 03

《Software Design 中文版 03》

[ 日] 技术评论社.人民邮电出版社.2015-5

“《Software Design 中文版 03》的主题为:sed/AWK入门和Mac开发环境。特辑1详细讲解了sed与A...”

Objective-C 2.0程序设计

《Objective-C 2.0程序设计》

Stephen G. Kochan.机械工业出版社.2009年9月

“本书是Objective-C领域的经典著作,对Objective-C进行了系统而全面的阐述,权威性毋庸置疑。全书共分为四...”

C++语言99个常见编程错误

《C++语言99个常见编程错误》

Stephen C. Dewhurst.清华大学出版社.2009

“本书是C++语言大师Stephen C. Dewhurst在多年教授C++课程中所遇到的常见错误的心得笔记之基础上编写而...”

写给大家看的C++书

《写给大家看的C++书》

Larry Ullman,Andreas Signer.人民邮电出版社.2009.7

“在这个信息技术无所不在的时代,编程能力正在变得越来越重要。C++以高性能、易移植而著称,而且同时支持过程式、面向对象和泛...”

Scala程序设计

《Scala程序设计》

[美]Venkat Subramaniam.人民邮电出版社.2010-8

“Scala是一种针对 JVM 的通用的编程语言,用来以简明、优雅、类型安全的方式表示常见的编程模式。它无缝集成了面向对象...”

Learning Cython Programming

《Learning Cython Programming》

Philip Herron.Packt Publishing.2013-9-25

“”

Web开发典藏大系

《Web开发典藏大系》

林珑.清华大学出版社.2014-9-1

“”

爱上Python

《爱上Python》

[新加坡] Jamie Chan.人民邮电出版社.2016-6

“本书将复杂的编程概念分解成简单的步骤,简单易懂。作者通过多年的教学经验精心挑选出了有特点的例子,手把手地实例教学。这本书...”

Software Tools

《Software Tools》

Brian W. Kernighan,P. J. Plauger.Addison-Wesley Professional.1976-1-11

“”

Advance Bash-Scripting Guide

《Advance Bash-Scripting Guide》

Mendel Cooper..

“此书是开源的,html版本:http://www.tldp.org/LDP/abs/html/ PDF版本:http:/...”

Android NDK Beginner's Guide

《Android NDK Beginner's Guide》

Sylvain Ratabouil.Packt Publishing.2012-1-26

“Android NDK is all about injecting high performance into you...”

.NET设计规范

《.NET设计规范》

克瓦林纳.人民邮电出版社.2006-7

“本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,...”

Learning Android

《Learning Android》

Marko Gargenta.O'Reilly Media.2011-3-28

“If you're new to the Android mobile operating system, Learni...”

Ext JS 4 First Look

《Ext JS 4 First Look》

Loiane Groner.Packt Publishing.2012-1-30

“A practical guide including examples of the new features in ...”

iOS Drawing

《iOS Drawing》

.Addison-Wesley Professional.2013-10

“Covers iOS 7 and Xcode 5 Apple lavished iOS with a rich and ...”

Windows高级调试

《Windows高级调试》

Mario Hewardt,Daniel Pravat.机械工业出版社.2009-5

“本书主要讲解Windows高级调试思想和工具,并涉及一些高级调试主题。本书内容主要包括:工具简介、调试器简介、调试器揭密...”

Programming iOS 4

《Programming iOS 4》

Matt Neuburg.O'Reilly Media.2011-6-2

“With this Early Release edition, you’ll get the entire book ...”

自己动手写Java虚拟机

《自己动手写Java虚拟机》

张秀宏.机械工业出版社.2016-6-1

“Java虚拟机非常复杂,要想真正理解它的工作原理,最好的方式就是自己动手编写一个! 本书是继《深入理解Java虚拟机》之...”

构建高性能可扩展ASP.NET网站

《构建高性能可扩展ASP.NET网站》

Richard Kiessig.人民邮电出版社.2011-3

“本书专门讲解如何利用ASP.NET和SQL Server开发出高性能、高扩展性的网站,并结合具体的问题给出切实有效的解决...”

The Nature of Software Development

《The Nature of Software Development》

Ron Jeffries.Pragmatic Bookshelf.2015-3-1

“”