图书介绍
游戏编程精粹1【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

- (美)德洛拉编著;王淑礼,张磊译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115125872
- 出版时间:2004
- 标注页数:540页
- 文件大小:39MB
- 文件页数:573页
- 主题词:游戏-软件设计-文集
PDF下载
下载说明
游戏编程精粹1PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.0.2点子2——最低标准3
1.0.3点子3——杜绝硬编码3
第1章 通用编程技术3
1.0神奇的数据驱动设计3
Steve Rabin3
1.0.1点子1——基础3
1.0.4点子4——将控制流写成脚本4
1.0.6点子6——避免重复数据5
1.0.5点子5——什么时候不适合使用脚本?5
1.0.8结论6
1.0.7点子7——开发工具来生成数据6
1.1.1代码风格7
James Boer7
1.1面向对象的编程与设计技术7
1.1.2类设计9
1.1.4设计模式10
1.1.3类层次结构设计10
1.1.6参考资料16
1.1.5总结16
1.2.1斐波纳契数17
PeteIsensee17
1.2使用模板元编程的快速数学方法17
1.2.2阶乘18
1.2.3三角学19
1.2.4实际世界中的编译程序20
1.2.7矩阵21
1.2.6模板和标准C++21
1.2.5重访三角学21
1.2.8总结26
1.2.9参考文献31
1.3.2 优点32
1.3.1 定义32
1.3一种自动的Singleton工具32
Scott Bilas32
1.3.5较好的方法33
1.3.4传统的解决方法33
1.3.3 问题33
1.3.6更好的方法34
1.3.7参考文献35
1.4.1 STL的类型和术语36
JamesBoer36
1.4 在游戏编程中使用STL36
1.4.2 STL概念37
1.4.3 向量(Vector)38
1.4.4链表(List)40
1.4.5双队列(Deque)42
1.4.6映射表(Map)43
1.4.7堆栈(Stack),队列(Queue)和优先队列(Priority Queue)46
1.4.9参考文献47
1.4.8 总结47
1.5.2关于平台48
1.5.1 要求48
1.5一个通用的函数绑定接口48
Scott Bilas48
1.5.3第一次尝试49
1.5.4第二次尝试50
1.5.5部分解决方法51
1.5.6调用约定52
1.5.7调用函数54
1.5.8完备解决方案55
1.5.9结论56
1.5.10参考文献57
1.6.1 方法58
Scott Bilas58
1.6通用的基于句柄的资源管理器58
1.6.2 Handle类59
1.6.3 HandleMgr类60
1.6.5注意61
1.6.4使用示例61
1.6.6参考文献68
1.7.1 资源类69
James Boer69
1.7资源和内存管理69
1.7.2资源管理类71
1.7.4可能的扩展和改进74
1.7.3句柄如何工作74
1.7.5 结论75
1.8.2保存你的数据76
1.8.1预处理你的数据76
1.8快速数据载入技巧76
John Olsen76
1.8.3使用简单方法载入你的数据77
1.8.4更安全地载入你的数据78
1.9.2介绍基于帧的内存80
1.9.1常规内存分配的挑战80
1.9基于帧的内存分配80
Steven Ranck80
1.9.3分配和释放内存82
1.9.4例子84
1.9.5 结论86
1.10.2位数组87
1.10.1概述87
1.10简单快速的位数组87
AndrewKirmse87
1.10.3其他数组88
1.10.5参考文献89
1.10.4应用89
1.11.2篡改报文90
1.11.1 定义90
1.11在线游戏的网络协议90
AndrewKirmse90
1.11.3报文重放91
1.11.5逆向工程92
1.11.4其他技术92
1.11.7参考文献93
1.11.6实现93
1.12.1 Assert基础94
Steve Rabin94
1.12最大限度地利用Assert94
1.12.3 Assert技巧#2:嵌入更多更多信息95
1.12.2 Assert技巧#1:嵌入更多信息95
1.12.5 Assert技巧#4:编写自己的assert宏96
1.12.4 Assert技巧#3:使之更好用一些96
1.12.7 Assert技巧#6:给“超级铁杆”97
1.12.6 Assert技巧#5:无价之宝97
1.12.9参考文献98
1.12.8 Assert技巧#7:让它更简单——复制和粘贴98
1.13.1 Why:需求驱动的技术99
John Olsen99
1.13 Stats:实时统计和游戏内调试99
1.13.3 What:一个基于C++类的系统100
1.13.2 How:一个进化过程100
1.13.5 小结102
1.13.4 Where:可用性102
1.14.1开始考虑细节103
Steve Rabin103
1.14实时的游戏内建剖析103
1.14.2剖析器将告诉你什么?104
1.14.3增加剖析器调用105
1.14.4剖析器的实现106
1.14.7处理剖析数据的细节107
1.14.6 ProfileEnd的细节107
1.14.5 ProfileBegin的细节107
1.14.9将它们组合起来108
1.14.8后期增强108
1.14.10参考文献113
2.0.1可预测随机数117
Guy W.Lecky-Thompson117
第2章 数学技巧117
2.0可预测随机数117
2.0.2替换算法119
2.0.3无限宇宙算法120
2.0.4结论与展望122
2.0.5参考文献123
2.1.1使用浮点数学的帧速相关ease-out124
John Olsen124
2.1插值方法124
2.1.2使用整型数学的帧速相关ease-out125
2.1.3帧速无关线性内插126
2.1.4帧速无关ease-in和ease-out127
2.1.5危险地带128
2.2.1运动学:平移和旋转132
Miguel Gomez132
2.2求刚体运动方程的积分132
2.2.2动力学:力与旋转力矩(torque)135
2.2.3刚体的特性136
2.2.4求运动方程的积分139
2.2.5 参考文献140
2.3三角函数的多项式逼近141
2.3.1 多项式142
Eddie Edwards142
2.3.2定义域和值域143
2.3.4泰勒级数146
2.3.3偶多项式和奇多项式146
2.3.5截断的泰勒级数149
2.3.6拉格朗日级数150
2.3.8结论153
2.3.7不连续性处理153
2.4.2显式的欧拉方法155
2.4.1 求初值问题的积分及稳定性155
2.4为数字稳定性而利用隐式欧拉积分155
Miguel Gomez155
2.4.3隐式欧拉方法156
2.4.7参考文献158
2.4.6结论158
2.4.4不准确性158
2.4.5寻找隐式解158
2.5.1原理160
Lo?c le Chevalier160
2.5小波:理论与压缩160
2.5.3应用162
2.5.2一个实例162
2.5.4参考文献163
2.6.1二维波动方程164
Miguel Gomez164
2.6水面的交互式模拟164
2.6.3实现问题166
2.6.2边界条件:岛屿和海岸线166
2.6.4与水面交互167
2.6.5渲染169
2.6.6参考文献170
2.7.1将四元数当作矩阵替换物171
Jan Svarovsky171
2.7游戏编程四元数171
2.7.3 X、Y、Z和W代表什么172
2.7.2为什么不使用欧拉角172
2.7.4源自什么数学基础173
2.7.6参考文献174
2.7.5四元数如何表示旋转174
2.8.2四元数到矩阵的转换175
2.8.1 四元数旋转175
2.8矩阵和四元数之间的转换175
JasonShankel175
2.8.3矩阵到四元数的转换177
2.8.4参考文献178
2.9.2四元数插值179
2.9.1四元数计算179
2.9四元数插值179
Jason Shankel179
2.9.4推导182
2.9.3示例代码182
2.10.2数值不稳定性186
2.10.1动机186
2.10最短弧四元数186
Stan Melax186
2.10.3稳定公式的推导187
2.10.5源代码188
2.10.4残存不稳定性条件188
2.10.7参考文献189
2.10.6虚拟跟踪球189
3.0.1事件驱动与轮询的对比193
SteveRabin193
第3章 人工智能193
3.0设计一个通用、健壮的AI引擎193
3.0.4 一个使用消息的事件驱动状态机194
3.0.3状态机194
3.0.2消息概念194
3.0.6另一个小交待197
3.0.5交待时间(ConfessionTime)197
3.0.8状态机消息路由选择198
3.0.7状态机构建单元198
3.0.10发送延迟的消息200
3.0.9发送消息200
3.0.12增强:定义消息的范围201
3.0.11删除游戏对象201
3.0.15增强:多状态机203
3.0.14增强:交换状态机203
3.0.13增强:记录所有的消息活动和状态变迁203
3.0.18结论204
3.0.17代码外部脚本化行为204
3.0.16增强:一个状态机队列204
3.0.19参考文献207
3.1一个有限状态机类208
3.1.2定义FSMstate210
3.1.1 FSMclass和FSMstate210
Eric Dybsand210
3.1.3定义FSMclass211
3.1.4为FSM创建状态212
3.1.5 使用FSM213
3.1.6参考文献219
3.2博弈树220
3.2.1 极小极大算法的负极大改进算法221
JanSvarovsky221
3.2.2α-β剪枝222
3.2.3走步排序方法223
3.2.5参考文献224
3.2.4α-β求精224
3.3.2方法概述225
3.3.1 问题225
3.3 A*路径规划基础225
Bryan Stout225
3.3.4将A*应用到游戏路径规划227
3.3.3 A*的特性227
3.3.5 A*的弱点231
3.3.7参考文献232
3.3.6进一步的工作232
3.4.1直路径233
Steve Rabin233
3.4 A*审美优化233
3.4.3平滑路径234
3.4.2多边形搜索空间中的直路径234
3.4.4预先计算的Catmull-Rom公式235
3.4.5改进分级路径的直接性236
3.4.7在分级搜寻过程中减少停顿238
3.4.6空旷区域上的分级寻径238
3.4.10参考文献239
3.4.9结论239
3.4.8最大化响应率239
3.5.1搜索空间优化240
Steve Rabin240
3.5 A*速度优化240
3.5.2算法优化244
3.5.3结论248
3.5.4参考文献253
3.6.1简述254
Greg Snook254
3.6简化的3D运动和使用导航网格进行寻径254
3.6.2构造255
3.6.3滚动骰子并且移动鼠标256
3.6.4到此仅完成一半258
3.6.5它是有效的,但不是那么完美260
3.6.6结论261
3.6.7参考文献269
3.7 Flocking:一种模拟群体行为的简单技术270
3.7.1 实现271
Steven Woodcock271
3.7.2代码273
3.7.3局限性与可能的改进276
3.7.4资源与致谢282
3.8.1模糊逻辑如何工作283
Mason McCuskey283
3.8用于视频游戏的模糊逻辑283
3.8.2模糊逻辑运算285
3.8.3为模糊控制而刹车286
3.8.6资源291
3.8.5结论291
3.8.4模糊逻辑的其他应用291
3.9.1生物学仿真292
André LaMothe292
3.9神经网络初探292
3.9.2对游戏的应用293
3.9.3神经网络101294
3.9.4纯逻辑,Mr.Spock298
3.9.5分类与“图像”识别302
3.9.6 Hebbian的Ebb305
3.9.7运行Hopfield306
3.9.8结论309
4.0.1 即时模式313
HerbertMarselas313
第4章 多边形技术313
4.0为OpenGL优化顶点提交313
4.0.2交叉存取数据314
4.0.3步数据和流数据315
4.0.4编译过的顶点数组316
4.0.6数据格式317
4.0.5取消数据复制厂家指定扩展317
4.0.8结论318
4.0.7一般建议318
4.0.9参考文献319
4.1.1考察投影矩阵320
Eric Lengyel320
4.1调整顶点的投影深度值320
4.1.3选择一个适当的ε321
4.1.2矫正深度值321
4.1.5源代码323
4.1.4实现323
4.2矢量摄像机324
4.2.1矢量摄像机初步325
David Paull325
4.2.2本地空间优化326
4.2.3 结论327
4.3.1一种基本的第一人称摄像机328
Dante Treglia II328
4.3摄像机控制技术328
4.3.2脚本摄像机330
4.3.3摄像机技巧333
4.4.1 视域棱台337
EricLengyel337
4.4一种快速的圆柱棱台相交测试算法337
4.4.2计算有效半径338
4.4.3算法339
4.4.4实现341
4.5.2包围球碰撞检测346
4.5.1算法概述346
4.5 3D碰撞检测346
Kevin Kaiser346
4.5.3三角形对三角形的碰撞检测348
4.6.2对象大小变化的问题358
4.6.1使用栅格358
4.6用于交互检测的多分辨率地图358
JanSvarovsky358
4.6.3多分辨率地图359
4.6.4源代码360
4.7.1问题368
Steven Ranck368
4.7计算到区域内部的距离368
4.7.2算法描述369
4.7.3应用371
4.8.1可视棱台裁剪376
TimRound376
4.8对象阻塞剔除376
4.8.2阻塞剔除378
4.8.3 总结379
4.9.1 LOD选择387
Yossarian King387
4.9永远不要让他们看到你的“抖动”——几何体细节层次选择问题387
4.9.3滞变阈值389
4.9.2放大率因子389
4.9.4实现390
4.9.5其他问题391
4.10.1八叉树概述393
Dan Ginsburg393
4.10八叉树构造393
4.10.3建立树394
4.10.2八叉树数据394
4.10.4多边形重叠395
4.10.7结论396
4.10.6应用396
4.10.5相邻节点396
4.10.8参考文献397
4.11.1 四叉树398
ThatcherUlrich398
4.11松散的八叉树398
4.11.2包围体399
4.11.3划分物体400
4.11.4使它松散402
4.11.5 比较405
4.11.6结论406
4.12.1渐进网格概述407
JanSvarovsky407
4.12独立于观察的渐进网格407
4.12.2关于这个主题的变种408
4.12.4难处理的边410
4.12.3边缘选择函数410
4.12.5实现411
4.12.6源代码414
4.12.7参考文献415
4.13.1 线性插值416
HerbertMarselas416
4.13插值的3D关键帧动画416
4.13.3 Hermite样条插值418
4.13.2对顶点和法线进行插值418
4.13.4对顶点进行样条插值420
4.13.7参考文献421
4.13.6总结421
4.13.5为什么用Hermite样条421
4.14.2方法422
4.14.1为什么对低多边形有价值422
4.14一种快速而简单的皮肤构造技术422
TorgeirHagland422
4.14.3总结423
4.14.4参考文献426
4.15填充间隙——使用缝合和皮肤构造的高级动画427
4.15.1缝合428
Ryan Woodland428
4.15.2皮肤构造(Skinning)430
4.15.3进一步的问题432
4.16.1风景设计434
Guy W.lecky-Thompson434
4.15.4 参考文献434
4.16实时真实地形生成434
4.16.2建筑物439
4.16.3命名算法442
4.16.4参考文献446
4.17.2减少dHeight447
4.17.1 断层构造447
4.17分形地形生成——断层构造447
JasonShankel447
4.17.3生成随机直线448
4.17.4腐蚀(erosion)449
4.17.6参考文献450
4.17.5示例代码450
4.18.1一维中点置换451
JasonShankel451
4.18分形地形生成——中点置换451
4.18.2二维中点置换——菱形正方形算法452
4.18.3高地中的菱形——正方形算法454
4.19.2粒子沉积455
4.19.1 MBE模型455
4.19分形地形生成——粒子沉积455
Jason Shankel455
4.19.3倒置火山口457
4.19.5参考文献458
4.19.4示例代码458
5.0.1 方法461
YossarianKing461
第5章 像素特效461
5.0 2D镜头光晕461
5.0.2实现462
5.0.3源代码464
5.1.2建立3D场景465
5.1.1进入D465
5.1将3D硬件用于2D子画面特效465
Mason McCuskey465
5.1.4绘制3D子画面466
5.1.3建立纹理466
5.1.6结论468
5.1.5添加特效468
5.2.1传统的静态光照469
Steven Ranck469
5.2基于运动的静态光照469
5.2.2基于运动静态光照472
5.2.3结论477
5.3.1光照方法478
Jorge Freitas478
5.3使用定点颜色插值模拟实时光照478
5.3.3插值光479
5.3.2美工创作479
5.3.4结论480
5.4.1讲解485
Sim Dietrich485
5.4衰减图485
5.4.2比较衰减图与光照图488
5.4.6结论489
5.4.5其他形状489
5.4.3 CSG效果489
5.4.4基于范围的雾489
5.5.2纹理投影490
5.5.1简单纹理坐标动画490
5.5使用纹理坐标生成技术的高级纹理490
Ryan Woodland490
5.5.3反射映射493
5.5.4参考文献494
5.6.1如何将凹凸图应用于对象上495
Sim Dietrich495
5.6硬件凹凸贴图495
5.6.3另一种方法使用正切空间凹凸贴图496
5.6.2为法线选择一个空间496
5.6.4解决方案:纹理空间凹凸贴图498
5.6.6结论499
5.6.5纹理空间问题499
5.6.7参考文献500
5.7.1 阴影数学501
YossarianKing501
5.7底面阴影501
5.7.2实现503
5.7.3扩展504
5.8.2光源、遮挡物体和接收物体505
5.8.1介绍505
5.8复杂对象上的实时阴影505
Gabor Nagy505
5.8.4创建阴影图507
5.8.3本文的目的507
5.8.5在接收物体上投影阴影图513
5.8.6渲染接收物体514
5.8.7对基本算法的扩展与改进514
5.8.8参考文献515
5.9使用光滑预过滤和Fresnel项改善环境映射反射516
Anis Ahmad516
5.9.1第一个不正确的假设516
5.9.2第二个不正确的假设518
5.9.3结论518
5.9.4致谢519
5.9.5参考文献519
5.10.3光栅化程序、帧缓冲、Z缓冲和像素混合520
5.10游戏中玻璃的效果520
GaborNagy520
5.10.1介绍520
5.10.2透明物体520
5.10.4不透明物体与透明物体521
5.10.5绘制不透明物体522
5.10.6绘制透明物体522
5.10.8有色玻璃525
5.10.9 将它们放到一起525
5.10.7 反射525
5.10.10实现526
5.10.11 参考文献526
5.11.1介绍527
Alex Vlachos,Jason L.Mitchell527
5.11.2折射项527
5.11用于容器中液体的折射贴图527
5.11.3反射项528
5.11.4 Fresnel项529
5.11.5使用硬件渲染529
5.11.6该技术的扩展530
5.11.7结论531
5.11.8参考文献531
第6章 附录535
6.0矩阵工具库535
Dante Treglia II,MarkA.DeLoura537
6.1文本工具库537
Dante Treglia II538
6.2关于随书光盘538
MarkA.DeLoura539
作者索引539
热门推荐
- 841318.html
- 3822030.html
- 2910209.html
- 2369273.html
- 2082322.html
- 3029194.html
- 1166004.html
- 2945169.html
- 796910.html
- 1191428.html
- http://www.ickdjs.cc/book_161469.html
- http://www.ickdjs.cc/book_45620.html
- http://www.ickdjs.cc/book_2037378.html
- http://www.ickdjs.cc/book_2999622.html
- http://www.ickdjs.cc/book_2952441.html
- http://www.ickdjs.cc/book_596801.html
- http://www.ickdjs.cc/book_3328486.html
- http://www.ickdjs.cc/book_3745563.html
- http://www.ickdjs.cc/book_2093761.html
- http://www.ickdjs.cc/book_1965540.html