• 3D游戏编程大师技巧(套装上下册)
21年品牌 40万+商家 超1.5亿件商品

3D游戏编程大师技巧(套装上下册)

正版保障 假一赔十 可开发票

101.8 6.0折 169.9 全新

库存3件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)Andre LaMothe著

出版社人民邮电出版社

ISBN9787115282798

出版时间2012-07

装帧平装

开本16开

定价169.9元

货号11533963

上书时间2023-11-19

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
商品简介

《3D游戏编程大师技巧(上、下册)》是游戏编程畅销书作者André LaMothe的扛鼎之作,从游戏编程和软件引擎的角度深入探讨了3D图形学的各个重要主题。全书共分5部分,包括16章的内容。第 1~3章简要地介绍了Windows和DirectX编程,创建了一个Windows应用程序模板,让读者能够将精力放在游戏逻辑和图形实现中,而不用考虑Windows和DirectX方面的琐事;第4~5章简要地介绍了一些数学知识并实现了一个数学库,供以后编写演示程序时使用;第6章概述了3D图形学,让读者对之后即将介绍的内容有大致的了解;第7~11章分别介绍了光照、明暗处理、仿射纹理映射、3D裁剪和深度缓存等内容;第 12~14章讨论了高 级3D渲染技术,包括透视修正纹理映射、Alpha混合、1 z缓存、纹理滤波、空间划分和可见性算法、阴影、光照映射等;第 15~16章讨论了动画、运动碰撞检测和优化技术。
《3D游戏编程大师技巧(上、下册)》适合于有一定编程经验并想从事游戏编程工作或对3D图形学感兴趣的人员阅读。



 
 
 
 

作者简介

Andre LaMothe有25年的计算行业从业经验,拥有数学、计算机科学和电子工程等学位,是20岁时就在NASA做研究工作的少数几人之一。在30岁之前,他在硅谷的众多公司中从事过咨询工作,了解了公司运作,获得了多种领域的知识,如电信、虚拟现实、机器人技术、编译器设计、3D引擎、人工智能以及计算和工程的其他领域的知识。

他创办的公司Xtreme Game公司一直是自成一体的游戏开发商和发行商。后来他创办了Xtreme Games Developer Conference(XGDC),为游戏开发人员提供了费用更低廉的GDC替代品。

eGamezone Networks——一个公平、有趣、他参与了多个项目的开发工作,其中包括没有任何广告的网络游戏分发系统。他还创建了一家公司———Nurve Networks公司,为在乎价格的消费者和业余爱好者开发手持设备上的视频游戏系统。最后,他还是世界上最庞大的游戏开发系列丛书的编辑。




目录

(上册)

 第一部分3D游戏编程简介

 第1章3D游戏编程入门2

 1.1简介2

 1.22D/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.13D关卡编辑器14

 1.4.2使用编译器15

 1.5一个3D游戏范例:Raiders 3D17

 1.5.1事件循环37

 1.5.2核心3D游戏逻辑38

 1.5.33D投影39

 1.5.4星空41

 1.5.5激光炮和碰撞检测41

 1.5.6爆炸41

 1.5.7玩Raiders3D41

 1.6总结41

 第2章Windows和DirectX简明教程43

 2.1Win32编程模型43

 2.2Windows程序的最小需求44

 2.3一个基本的Windows应用程序48

 2.3.1Windows类49

 2.3.2注册Windows类53

 2.3.3创建窗口53

 2.3.4事件处理程序55

 2.3.5主事件循环59

 2.3.6构建实时事件循环63

 2.4DirectX和COM简明教程64

 2.4.1HEL和HAL65

 2.4.2DirectX基本类66

 2.5COM简介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.5I/O、声音和音乐82

 3.3T3DLIB游戏控制台83

 3.3.1T3DLIB系统概述83

 3.3.2基本游戏控制台83

 3.4T3DLIB1库89

 3.4.1DirectX图形引擎体系结构89

 3.4.2基本常量89

 3.4.3工作宏91

 3.4.4数据类型和结构92

 3.4.5函数原型95

 3.4.6全局变量99

 3.4.7DirectDraw接口100

 3.4.82D多边形函数103

 3.4.9数学函数和错误函数110

 3.4.10位图函数111

 3.4.118位调色板函数115

 3.4.12实用函数118

 3.4.13BOB(Blitter对象)引擎119

 3.5T3DLIB2 DirectX输入系统126

 3.6T3DLIB3声音和音乐库131

 3.6.1头文件132

 3.6.2类型132

 3.6.3全局变量133

 3.6.4DirectSound API封装函数133

 3.6.5DirectMusic 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.22D坐标系161

 4.2.12D笛卡尔坐标161

 4.2.22D极坐标163

 4.33D坐标系165

 4.3.13D笛卡尔坐标165

 4.3.23D柱面坐标168

 4.3.33D球面坐标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.12D参数化直线206

 4.9.23D参数化直线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.33D平面232

 5.2.4矩阵233

 5.2.5四元数236

 5.2.6角坐标系支持237

 5.2.72D极坐标237

 5.2.83D柱面坐标238

 5.2.93D球面坐标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.52D和3D参数化直线支持函数277

 5.7.63D平面支持函数281

 5.7.7四元数支持函数285

 5.7.8定点数支持函数293

 5.7.9方程求解支持函数298

 5.8浮点单元运算初步300

 5.8.1FPU体系结构301

 5.8.2FPU堆栈302

 5.8.3FPU指令集303

 5.8.4经典指令格式306

 5.8.5内存指令格式306

 5.8.6寄存器指令格式307

 5.8.7寄存器弹出指令格式307

 5.8.8FPU范例307

 5.8.9FLD范例308

 5.8.10FST范例308

 5.8.11FADD范例310

 5.8.12FSUB范例312

 5.8.13FMUL范例313

 5.8.14FDIV范例314

 5.9数学引擎使用说明315

 游戏控制台317

 5.10关于数学优化的说明317

 5.11总结317

 第6章3D图形学简介318

 6.13D引擎原理318

 6.23D游戏引擎的结构319

 6.2.13D引擎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.83D模型和图像数据库327

 6.33D坐标系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.53D工具374

 动画数据和运动数据375

 6.6从外部加载数据375

 6.6.1PLG文件375

 6.6.2NFF文件378

 6.6.33D Studio文件381

 6.6.4Caligari COB文件387

 6.6.5Microsoft DirectX .X文件389

 6.6.63D文件格式小结389

 6.7基本刚性变换和动画389

 6.7.13D平移389

 6.7.23D旋转390

 6.7.33D变形392

 6.8再看观察流水线393

 6.93D引擎类型394

 6.9.1太空引擎394

 6.9.2地形引擎395

 6.9.3FPS室内引擎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.4UVN相机模型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.53D演示程序461

 7.5.1单个3D三角形461

 7.5.23D线框立方体464

 7.5.3消除了背面的3D线框立方体466

 7.5.43D坦克演示程序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.116位着色507

 8.3.28位着色507

 8.3.3一个健壮的用于8位模式的RGB模型508

 8.3.4一个简化的用于8位模式的强度模型511

 8.3.5固定着色515

 8.3.6恒定着色517

 8.3.7Gouraud着色概述533

 8.3.8Phong着色概述535

 8.4深度排序和画家算法535

 8.5使用新的模型格式540

 8.5.1分析器类540

 8.5.2辅助函数543

 8.5.33D Studio MAX ASCII格式.ASC546

 8.5.4TrueSpace ASCII.COB格式548

 8.5.5Quake II二进制.MD2格式概述557

 8.63D建模工具简介558

 8.7总结561

 第9章插值着色技术和仿射纹理映射562

 9.1新T3D引擎的特性562

 9.2更新T3D数据结构和设计563

 9.2.1新的#defines564

 9.2.2新增的数学结构566

 9.2.3实用宏567

 9.2.4添加表示3D网格数据的特性568

 9.2.5更新物体结构和渲染列表结构574

 9.2.6函数清单和原型577

 9.3重新编写物体加载函数583

 9.3.1更新.PLG/PLX加载函数584

 9.3.2更新3D Studio .ASC加载函数595

 9.3.3更新Caligari .COB加载函数596

 9.4回顾多边形的光栅化601

 9.4.1三角形的光栅化601

 9.4.2填充规则604

 9.4.3裁剪606

 9.4.4新的三角形渲染函数607

 9.4.5优化612

 9.5实现Gouraud着色处理613

 9.5.1没有光照时的Gouraud着色614

 9.5.2对使用Gouraud Shader的多边形执行光照计算624

 9.6基本采样理论632

 9.6.1一维空间中的采样632

 9.6.2双线性插值634

 9.6.3u和v的插值635

 9.6.4实现仿射纹理映射637

 9.7更新光照/光栅化引擎以支持纹理640

 9.8对8位和16位模式下优化策略的最后思考645

 9.8.1查找表645

 9.8.2网格的顶点结合性646

 9.8.3存储计算结果646

 9.8.4SIMD647

 9.9最后的演示程序647

 Raider 3D II648

 9.10总结651

 第10章3D裁剪652

 10.1裁剪简介652

 10.1.1物体空间裁剪652

 10.1.2图像空间裁剪655

 10.2裁剪算法656

 10.2.1有关裁剪的基本知识657

 10.2.2Cohen-Sutherland裁剪算法661

 10.2.3Cyrus-Beck/梁友栋-Barsky裁剪算法662

 10.2.4Weiler-Atherton裁剪算法665

 10.2.5深入学习裁剪算法667

 10.3实现视景体裁剪667

 10.3.1几何流水线和数据结构669

 10.3.2在引擎中加入裁剪功能670

 10.4地形小议691

 10.4.1地形生成函数692

 10.4.2生成地形数据700

 10.4.3沙地汽车演示程序700

 10.5总结704

 第11章深度缓存和可见性705

 11.1深度缓存和可见性简介705

 11.2z缓存基础708

 11.2.1z缓存存在的问题709

 11.2.2z缓存范例709

 11.2.3平面方程法711

 11.2.4z坐

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP