网站颜色:

游戏引擎架构 第2版利用程序进行游戏编程计算机程序员架构师零基础自学电脑游戏引擎系统从入门到精通必备教程数据软件开发书籍.

  • 产品名称:游戏引擎架构(第2版)
  • 书名:游戏引擎架构(第2版)
  • 作者:(美)JasonGregory(杰森·格雷戈瑞)
  • 译者:叶劲峰
  • 定价:219.00元
  • 书名:游戏引擎架构(第2版)
  • 开本:16开
  • 是否是套装:否
  • 出版社名称:电子工业出版社

 商品基本信息,请以下列介绍为准
图书名称: 游戏引擎架构(第2版)
作者: (美)JasonGregory(杰森·格雷戈瑞)
定价: 219.00
ISBN号: 9787121375293
出版社: 电子工业出版社


  内容简介
《游戏引擎架构》(第 2 版)涵盖游戏引擎软件开发的理论及实践知识,并在第 1 版的基础上对多个主题进行了更新。本书中讨论的概念及技巧被实际应用于现实中的游戏工作室(如艺电及顽皮狗)。虽然书中采用的例子通常依托于一些专门的技术,但是讨论范围远超某个引擎或API。另外,书中提供的参考文献及引用也非常有价值,可让读者继续深入游戏开发的任何特定方向。本书为大学程度的游戏编程课程而编写,但也适合软件工程师、游戏开发业余爱好者,以及游戏产业的从业人员阅读。通过阅读本书,资历较浅的游戏工程师可以巩固他们所学的游戏技术及引擎架构的知识,专注某一领域的程序员也能从本书全面的介绍中获益。《游戏引擎架构》(第2版)不仅可作为知识扫盲的工具,以及延伸学习的跳板,更能让读者扎实地理解游戏引擎中每个工程范畴中的理论与典型实践。本书将助你走过游戏引擎架构那迷人、全方位的难忘之旅。本书讲解商业游戏引擎中各个子系统的理论基础,并论述了实现这些子系统通常所需的数据结构、算法及软件接口。本书聚焦在引擎本身,其中包括底层基础系统、渲染引擎、碰撞系统、物理模拟、角色动画及音频。而在“游戏性基础层”中深入探讨游戏对象模型、世界编辑器、事件系统与脚本系统。书中还涉及一些游戏编程方面的技术,如玩家机制、摄像头和人工智能。《游戏引擎架构》广受欢迎,成为游戏引擎软件开发理论和实践的完整指南。第2版按当今游戏引擎架构发展趋势更新大量内容,进一步完善对典型游戏引擎各主要模块的讲解,重点新内容包括:·更新了各个主题的信息,包括C++编程语言的*新版本C++11、第8代游戏机Xbox One 和PlayStation 4。·新增了音频技术章节,包含AAA游戏音频引擎所涉及的物理、数学和技术等方面的知识。·更新了多核编程、流水线CPU架构、优化、国际化、赝矢量、格拉斯曼代数、对偶四数、SIMD矢量数学、内存对齐及抗锯齿等章节。


  目录

第 2 版序言 xxxiii

第 1 版序言 xxxv

第 2 版前言 xxxvii

第 1 版前言 xxxviii

致谢 xl

第 I 部分 基 础

第 1 章 导论 3

11 典型游戏团队的结构 4

111 工程师 5

112 艺术家 5

113 游戏设计师 6

114 制作人 7

115 其他工作人员 7

116 发行商及工作室 7

12 游戏是什么 8

121 电子游戏作为软实时模拟8

13 游戏引擎是什么 10

14 不同游戏类型的引擎差异 11

141 **人称射击游戏 12

142 平台及其他第三人称游戏13

143 格斗游戏 15

144 竞速游戏 17

145 实时策略游戏 18

146 大型多人在线游戏 20

147 玩家创作内容 @ 21

148 其他游戏类型 23

15 游戏引擎概览 24

151 雷神之锤引擎家族 24

152 虚幻引擎 25

153 Source 引擎 26

154 DICE 的寒霜引擎 @ 26

155 CryEngine @ 26

156 索尼的 PhyreEngine @ 27

157 微软的 XNA Game Studio27

158 Unity @ 27

159 供非程序员使用的二维游戏引擎 @ 28

(咨询特价) 其他商业引擎 29

(咨询特价) 专有内部引擎 29

(咨询特价) 开源引擎29

16 运行时引擎架构 30

161 目标硬件 32

162 设备驱动程序 32

163 操作系统 32

164 第三方软件开发包和中间件33

165 平立层 36

166 核心系统 36

167 资源管理器 37

168 渲染引擎 37

169 剖析和调试工具 41

(咨询特价) 碰撞和物理42

(咨询特价) 动画 43

(咨询特价) 人体学接口设备 44

(咨询特价) 音频 45

(咨询特价) 在线多人/网络游戏 46

(咨询特价) 游戏性基础系统 47

(咨询特价) 个别游戏专用子系统 50

17 工具及资产管道 50

171 数字内容创作工具 50

172 资产调节管道 52

173 世界编辑器 54

174 资源数据库 @ 55

175 一些构建工具的方法 55

第 2 章 专业工具 58

21 版本控制 58

211 为何使用版本控制 58

212 常见的版本控制系统 59

213 Subversion 和 TortoiseSVN 概览 60

214 在 Google 上设置代码版本库61

215 安装 TortoiseSVN 61

216 文件版本、更新和提交 63

217 多人签出、分支及合并 64

218 删除 66

22 微软 Visual Studio66

221 源文件、头文件及翻译单 67

222 程序库、可执行文件及动态链接库67

223 项目及解决方案 68

224 生成配置 69

225 调试代码 75

23 剖析工具 81

231 剖析器列表 83

24 内存泄漏和损坏检测 83

25 其他工具 84

第 3 章 游戏软件工程基础 85

31 重温 C++ 及*佳实践 85

311 扼要重温面向对象编程85

312 编码标准: 为什么及需要多少 91

313 C++11 @ 92

32 C/C++ 的数据、代码及内存 99

321 数值表达形式 99

322 声明、定义及链接规范 109

323 C/C++ 内存布局 115

324 成员变量 119

325 对象的内存布局 121

326 kilobyte 及 kibibyte 129

33 捕捉及处理错误 129

331 错误类型 129

332 错误处理 130

333 实现错误检测及处理 132

34 流水线、缓存及优化 136

341 并行范式转移 136

342 内存缓存 137

343 指令流水线及超纯量 CPU 142

第 4 章 游戏所需的三维数学 146

41 在二维中解决三维问题 146

42 点和矢量 146

421 点和笛卡儿坐标 147

422 左手坐标系与右手坐标系的比较 148

423 矢量 149

424 矢量运算 150

425 点和矢量的线性插值 160

43 矩阵 160

431 矩阵乘法 161

432 以矩阵表示点和矢量 162

433 单位矩阵 163

434 逆矩阵 163

435 转置矩阵 163

436 齐次坐标 164

437 基础变换矩阵 165

438 4 × 3 矩阵 168

439 坐标空间 168

(咨询特价) 基的变更171

(咨询特价) 变换法矢量175

(咨询特价) 在内存中存储矩阵 175

44 四数 177

441 把单位四数视为三维旋转178

442 四数运算 178

443 以四数旋转矢量 180

444 等价的四数和矩阵 181

445 旋转性的线性插值 183

45 比较各种旋转表达方式 185

451 欧拉角 185

452 3 × 3 矩阵 186

453 轴角 186

454 四数 187

455 SQT 变换187

456 对偶四数 188

457 旋转和自由度 188

46 其他数学对象 189

461 直线、光线及线段 189

462 球体 190

463 平面 190

464 轴对齐包围盒 192

465 定向包围盒 193

466 平截头体 193

467 凸多面体区域 194

47 硬件加速的 SIMD 运算 194

471 SSE 寄存器 195

472 __m128 数据类型 196

473 用 SSE 内部函数编码 197

474 用 SSE 实现矢量与矩阵的相乘 199

48 产生随机数 203

481 线性同余产生器 204

482 梅森旋转 204

483 所有伪随机数产生器之母及 Xorshift 205

第 II 部分 底层引擎系统

第 5 章 游戏支持系统 209

51 子系统的启动和终止 209

511 C++ 的静态初始化次序 (是不可用的) 209

512 行之有效的简单方法 212

513 一些实际引擎的例子 214

52 内存管理 218

521 优化动态内存分配 218

522 内存碎片 227

53 容器 231

531 容器操作 232

532 迭代器 233

533 算法复杂度 234

534 建立自定义的容器类 236

54 字符串 248

541 字符串的使用问题 248

542 字符串类 249

543 **标识符 249

544 本地化 253

55 引擎配置 263

551 读/写选项263

552 个别用户选项 264

553 真实引擎中的配置管理265

第 6 章 资源及文件系统 270

61 文件系统 270

611 文件名和路径 271

612 基本文件 I/O 274

613 异步文件 I/O 277

62 资源管理器 281

621 离线资源管理及工具链281

622 运行时资源管理 289

第 7 章 游戏循环及实时模拟 305

71 渲染循环 305

72 游戏循环 306

721 简单例子: 《乓》 306

73 游戏循环的架构风格 308

731 视窗消息泵 308

732 回调驱动框架 309

  33 基于事件的更新 311

74 抽象时间线 311

741 真实时间 311

742 游戏时间 311

743 局部及全局时间线 312

75 测量及处理时间 313

751 帧率及时间增量 313

752 从帧率到速率 314

753 使用高分辨率计时器测量实时时间 317

754 时间单位和时钟变量 318

755 应对断点 321

756 一个简单的时钟类 322

76 多处理器的游戏循环 325

761 多处理器游戏机的架构326

762 SIMD331

763 分叉及汇合 331

764 每个子系统运行于独立线程333

765 作业模型 334

766 异步程序设计 334

77 网络多人游戏循环 337

771 主从式模型 337

772 点对点模型 339

773 案例分析: 《雷神之锤 II》339

第 8 章 人体学接口设备 342

81 各种人体学接口设备 342

82 人体学接口设备的接口技术 344

821 轮询 344

822 中断 344

823 无线设备 345

83 输入类型 345

831 数字式按钮 345

832 模拟式轴及按钮 347

833 相对性轴 348

834 加速计 348

835 以 Wii 遥控器或 DualShock 做三维定向 349

836 摄像机 350

84 输出类型 352

841 震动反馈 352

842 力反馈 353

843 音频 353

844 其他输入/输出 353

85 游戏引擎的人体学接口设备系统 353

851 典型需求 354

852 死区 354

853 模拟信号过滤 355

854 输入事件检测 357

855 为多位玩家管理多个 HID 364

856 跨平台的 HID 系统 364

857 输入的重新映射 366

858 上下文相关控制 367

859 禁用输入 368

86 人体学接口设备使用实践 368

第 9 章 调试及开发工具 370

91 日志及跟踪 370

911 使用 OutputDebugString() 做格式化输出371

912 冗长级别 372

913 频道 373

914 把输出同时抄写至日志文件374

915 崩溃报告 374

92 调试用的绘图功能 375

921 调试绘图 API 378

93 游戏内置菜单 382

94 游戏内置主控台 385

95 调试用摄像机和游戏暂停 386

96 作弊 386

97 屏幕截图及录像 387

98 游戏内置性能剖析 387

981 层阶式剖析 389

982 导出至 Excel 394

99 游戏内置的内存统计和泄漏检测 394

第 III 部分 图形、运动与声音

第 10 章 渲染引擎 401

101 采用深度缓冲的三角形光栅化基础 401

(咨询特价) 场景描述403

(咨询特价) 描述表面的视觉性质 410

(咨询特价) 光照基础423

(咨询特价) 虚拟摄像机432

102 渲染管道 442

(咨询特价) 渲染管道概览 443

(咨询特价) 工具阶段444

(咨询特价) 资产调节阶段 446

(咨询特价) GPU 简史 447

(咨询特价) GPU 管道 448

(咨询特价) 可编程着色器 452

(咨询特价) 抗锯齿 @ 456

(咨询特价) 应用程序阶段 459

103 高级光照及全局光照 468

(咨询特价) 基于图像的光照 468

(咨询特价) 高动态范围光照 472

(咨询特价) 全局光照473

(咨询特价) 延迟渲染479

(咨询特价) 基于物理着色 @ 480

104 视觉效果和覆盖层 481

(咨询特价) 粒子效果481

(咨询特价) 贴花 482

(咨询特价) 环境效果483

(咨询特价) 覆盖层486

(咨询特价) 伽马校正487

(咨询特价) 全屏后期处理效果 488

105 延伸阅读 489

第 11 章 动画系统 490

111 角色动画的类型 490

(咨询特价) 赛璐璐动画490

(咨询特价) 刚性层阶式动画 491

(咨询特价) 每顶点动画及变形目标 492

(咨询特价) 蒙皮动画493

(咨询特价) 把动画方法视为数据压缩技术 494

112 骨骼 495

(咨询特价) 骨骼层阶结构 496

(咨询特价) 在内存中表示骨骼 497

113 姿势 498

(咨询特价) 绑定姿势498

(咨询特价) 局部姿势499

(咨询特价) 全局姿势501

114 动画片段 502

(咨询特价) 局部时间线503

(咨询特价) 全局时间线506

(咨询特价) 比较局部和全局时钟 508

(咨询特价) 简单的动画数据格式 511

(咨询特价) 连续的通道函数 512

(咨询特价) 通道513

115 蒙皮及生成矩阵调色板 514

(咨询特价) 每顶点的蒙皮信息 515

(咨询特价) 蒙皮涉及的数学知识 515

116 动画混合 519

(咨询特价) 线性插值混合 519

(咨询特价) 线性插值混合的应用 521

(咨询特价) 复杂的线性插值混合 526

(咨询特价) 骨骼分部混合 529

(咨询特价) 加法混合531

(咨询特价) 加法混合的应用 533

117 后期处理 536

(咨询特价) 程序式动画536

(咨询特价) 逆运动学537

(咨询特价) 布娃娃538

118 压缩技术 538

(咨询特价) 通道省略539

(咨询特价) 量化 539

(咨询特价) 采样频率及键省略 543

(咨询特价) 基于曲线的压缩 543

(咨询特价) 选择性载入及串流 544

119 动画系统架构 544

(咨询特价) 动画管道 545

(咨询特价) 数据结构 546

(咨询特价) 扁平的加权平均混合表示法 549

(咨询特价) 混合树 552

(咨询特价) 淡入/淡出架构 555

(咨询特价) 动画管道的优化 557

(咨询特价) 动作状态机 559

(咨询特价) 动画状态 559

(咨询特价) 过渡 565

(咨询特价) 状态层 568

(咨询特价) 控制参数 570

(咨询特价) 约束 571

(咨询特价) 动画控制器 579

第 12 章 碰撞及刚体动力学 580

121 你想在游戏中加入物理吗 580

(咨询特价) 物理系统可以做的事情 581

(咨询特价) 物理好玩吗582

(咨询特价) 物理对游戏的影响 583

122 碰撞 / 物理中间件 585

(咨询特价) I-Collide、SWIFT、V-Collide 及 RAPID 585

(咨询特价) ODE 585

(咨询特价) Bullet 586

(咨询特价) TrueAxis 586

(咨询特价) PhysX586

(咨询特价) Havok 587

(咨询特价) PAL587

(咨询特价) DMM 587

123 碰撞检测系统 588

(咨询特价) 可碰撞的实体 588

(咨询特价) 碰撞/物理世界 589

(咨询特价) 关于形状的概念 590

(咨询特价) 碰撞原型592

(咨询特价) 碰撞测试及解析几何 596

(咨询特价) 性能优化604

(咨询特价) 碰撞查询606

(咨询特价) 碰撞过滤610

124 刚体动力学 611

(咨询特价) 基础 613

(咨询特价) 线性动力学614

(咨询特价) 运动方程求解 616

(咨询特价) 数值积分618

(咨询特价) 二维旋转动力学 622

(咨询特价) 三维旋转动力学 625

(咨询特价) 碰撞响应629

(咨询特价) 约束 636

(咨询特价) 控制刚体的运动 640

(咨询特价) 碰撞/物理步 641

125 将物理引擎整合至游戏 643

(咨询特价) 连接游戏对象和刚体 643

(咨询特价) 更新模拟646

(咨询特价) 游戏中碰撞及物理的应用例子 649

126 展望 : 高级物理功能 656

第 13 章 音频 @ 658

131 声音的物理 658

(咨询特价) 声波的属性659

(咨询特价) 感知响度及分贝 660

(咨询特价) 声波的传播663

(咨询特价) 位置的感知668

132 声音中的数学知识 668

(咨询特价) 信号 669

(咨询特价) 处理信号670

(咨询特价) 线性时不变系统 671

(咨询特价) LTI 系统的脉冲响应 672

(咨询特价) 频域与傅里叶变换 677

133 声音技术 685

(咨询特价) 模拟音频技术 685

(咨询特价) 数字音频技术 690

134 三维音频渲染 696

(咨询特价) 三维声音渲染概览 697

(咨询特价) 为音频世界建模 698

(咨询特价) 基于距离的衰减 698

(咨询特价) 偏移 700

(咨询特价) 传播、混响及声学705

(咨询特价) 多普勒频移712

135 音频引擎架构 712

(咨询特价) 音频处理管道 714

(咨询特价) 概念及术语714

(咨询特价) 音总线715

(咨询特价) 主控混音器718

(咨询特价) 主控输出总线 719

(咨询特价) 实现总线720

(咨询特价) 资产管理722

(咨询特价) 对游戏混音724

(咨询特价) 音频引擎调查 727

136 游戏专用的音频功能 730

(咨询特价) 支持切割屏731

(咨询特价) 角色对话732

(咨询特价) 音乐 744

第 IV 部分 游 戏 性

第 14 章 游戏性系统简介 747

141 剖析游戏世界 748

(咨询特价) 世界素748

(咨询特价) 世界组块750

(咨询特价) 高级游戏流程 751

142 实现动态素 : 游戏对象 752

(咨询特价) 游戏对象模型 753

(咨询特价) 工具方的设计和运行时的设计 754

143 数据驱动游戏引擎 754

144 游戏世界编辑器 755

(咨询特价) 游戏世界编辑器的典型功能 758

(咨询特价) 集成的资产管理工具 763

第 15 章 运行时游戏性基础系统 766

151 游戏性基础系统的组件 766

152 各种运行时对象模型架构 768

(咨询特价) 以对象为中心的各种架构 769

(咨询特价) 以属性为中心的各种架构 781

153 世界组块的数据格式 785

(咨询特价) 二进制对象映像 786

(咨询特价) 序列化游戏对象描述 786

(咨询特价) 生成器及类型架构 788

154 游戏世界的加载和串流 792

(咨询特价) 简单的关卡加载 792

(咨询特价) 向无缝加载进发: 阻隔室 792

(咨询特价) 游戏世界的串流 794

(咨询特价) 对象生成的内存管理 796

(咨询特价) 游戏存档798

155 对象引用与世界查询 799

(咨询特价) 指针 799

(咨询特价) 智能指针800

(咨询特价) 句柄 802

(咨询特价) 游戏对象查询 804

156 实时更新游戏对象 806

(咨询特价) 一个简单 (但不可行) 的方式807

(咨询特价) 性能限制及批次式更新 809

(咨询特价) 对象及子系统的相互依赖 811

(咨询特价) 为并行设计819

157 事件与消息泵 821

(咨询特价) 静态类型的函数绑定带来的问题 821

(咨询特价) 把事件封装成对象 822

(咨询特价) 事件类型823

(咨询特价) 事件参数824

15     事件处理器826

(咨询特价) 取出事件参数 827

(咨询特价) 职责链827

(咨询特价) 登记对事件的关注 829

(咨询特价) 要排队还是不要排队 830

(咨询特价) 即时传递事件带来的问题835

(咨询特价) 数据驱动事件/消息传递系统 836

158 脚本 839

(咨询特价) 运行时与数据定义的对比 839

(咨询特价) 编程语言特性 839

(咨询特价) 一些常见的游戏脚本语言 841

(咨询特价) 脚本所需的架构 846

(咨询特价) 运行时游戏脚本语言的功能 847

159 高层次的游戏流程 858

第 V 部分 总 结

第 16 章 还有更多内容吗 863

161 一些未谈及的引擎系统 863

(咨询特价) 影片播放器863

(咨询特价) 多人网络864

162 游戏性系统 864

(咨询特价) 玩家机制864

(咨询特价) 摄像机864

(咨询特价) 人工智能865

(咨询特价) 其他游戏性系统 866

参考文献 867

中文索引 871

英文索引 900



  作者简介
Jason Gregory,在1994年开始任职专业软件工程师,自1999年3月开始在游戏产业中任职软件工程师。在圣迭哥Midway Home Entertainment公司开始游戏编程的他,为《疯狂飞行员(Freaky Flyers)》及《Crank the Weasel》开发PlayStation 2/Xbox上的动画系统。在2003年,他转到洛杉矶艺电,为《荣誉勋章:血战太平洋(Medal of Honor: Pacific Assault)》开发游戏引擎及游戏性技术,并在《荣誉勋章:空降神兵(Medal of Honor: Airborne)》中担任首席工程师。他现时是顽皮狗公司的通才程序员,为《神秘海域:德雷克船长的宝藏(Uncharted: Drake's Fortune)》及《神秘海域:纵横四海(Uncharted: Among Thieves)》开发引擎及游戏性软件。他也在南加州大学教授游戏技术的课程。
叶劲峰(Milo Yip),从小自习编程,并爱好计算机图形学。上中学时兼职开发策略RPG《王子传奇》,该游戏在1995年于台湾发行。其后他获取了香港大学认知科学学士、香港中文大学系统工程及工程管理哲学硕士。毕业后在香港理工大学设计学院从事游戏引擎及相关技术的研发,职至项目主任。除发表学术文章外,也曾合著《DirectX9游戏编程实务》。2008年往上海育碧担任引擎工程师开发《美食从天而降(Cloudy with a Chance of Meatballs)》Xbox360/PS3/Wii/PC,2009年起于麻辣马开发《爱丽丝:疯狂回归(Alice: Madness Returns)》Xbox360/PS3/PC,2011年加入腾讯互动引擎技术中心担任专家工程师,所研发的技术已用于《斗战神》、《天涯明月刀》、《众神争霸》等项目中。

热门设计服务