搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
3D游戏编程大师技巧
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    7115133719
  • 作      者:
    (美)Andre LaMothe著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2005
收藏
作者简介
    Andre LaMothe 有25年的计算行业从业经验,拥有数学、计算机科学和电子工程等学位,是20岁时就在NASA做研究工作的少数几人之一。在30岁之前,他在硅谷的众多公司中从事过咨询工作,了解了公司运作,获得了多种领域的知识,如电信、虚拟现实、机器人技术、编译器设计、3D引擎、人工智能以及计算和工程的其他领域的知识。<br>    他创办的公司XTREME GAME公司一直是自成一体的游戏开发、发行商。后来他创办了XTREME<br>    GAMES DEVELOPER CONFERENCE (XGDC),为游戏开发人员提供了费用更低廉的GDC替代品。<br>    最近,他参与了多个项目的开发工作,其中包括EGAMEZONE NETWORKS——一个公平、有趣、没有任何广告的网络游戏分发系统。他还创建了一家新公司——NURVE NETWORKS公司,为在乎价格的消费者和业余爱好者开发手持设备上的视频游戏系统。最后,他还是世界上最庞大的游戏开发系列丛书的编辑。
展开
内容介绍
    《3D 游戏编程大师技巧》是游戏编程畅销书作者André LaMothe的扛鼎之作,从游戏编程和软件引擎的角度深入探讨了3D图形学的各个重要主题。全书共分5部分,包括16章的内容。第1~3章简要地介绍了Windows和DirectX编程,创建了一个Windows应用程序模板,让读者能够将精力放在游戏逻辑和图形实现中,而不用考虑Windows和DirectX方面的琐事;第4~5章简要地介绍了一些数学知识并实现了一个数学库,供以后编写演示程序时使用;第6章概述了3D图形学,让读者对《3D 游戏编程大师技巧(附光盘)》将介绍的内容有大致的了解;第7~11章分别介绍了光照、明暗处理、仿射纹理映射、3D裁剪和深度缓存等内容;第12~14章讨论了高级3D渲染技术,包括透视修正纹理映射、Alpha混合、1/z缓存、纹理滤波、空间划分和可见性算法、阴影、光照映射等;第15~16章讨论了动画、运动碰撞检测和优化技术。<br>    《3D 游戏编程大师技巧》适合于有一定编程经验并想从事游戏编程工作或对3D图形学感兴趣的人员阅读。
展开
目录
第一部分  3D游戏编程简介<br>第1章  3D游戏编程入门  2<br>1.1  简介  2<br>1.2  2D/3D游戏的元素  3<br>1.2.1  初始化  3<br>1.2.2  进入游戏循环  3<br>1.2.3  读取玩家输入  4<br>1.2.4  执行AI和游戏逻辑  4<br>1.2.5  渲染下一帧  4<br>1.2.6  同步显示  4<br>1.2.7  循环  4<br>1.2.8  关闭  5<br>1.3  通用游戏编程指南  7<br>1.4  使用工具  9<br>1.4.1  3D关卡编辑器  12<br>1.4.2  使用编译器  13<br>1.5  一个3D游戏范例:Raiders 3D  15<br>1.5.1  事件循环  33<br>1.5.2  核心3D游戏逻辑  34<br>1.5.3  3D投影  35<br>1.5.4  星空  36<br>1.5.5  激光炮和碰撞检测  37<br>1.5.6  爆炸  37<br>1.5.7  玩Raiders3D  37<br>1.6  总结  37<br><br>第2章  Windows和DirectX简明教程  38<br>2.1  Win32编程模型  38<br>2.2  Windows程序的最小需求  39<br>2.3  一个基本的Windows应用程序  43<br>2.3.1  Windows类  43<br>2.3.2  注册Windows类  47<br>2.3.3  创建窗口  47<br>2.3.4  事件处理程序  48<br>2.3.5  主事件循环  52<br>2.3.6  构建实时事件循环  55<br>2.4  DirectX和COM简明教程  56<br>2.4.1  HEL和HAL  57<br>2.4.2  DirectX基本类  58<br>2.5  COM简介  59<br>2.5.1  什么是COM对象  60<br>2.5.2  创建和使用DirectX COM接口  61<br>2.5.3  查询接口  62<br>2.6  总结  64<br><br>第3章  使用虚拟计算机进行3D游戏编程  65<br>3.1  虚拟计算机接口简介  65<br>3.2  建立虚拟计算机接口  66<br>3.2.1  帧缓存和视频系统  66<br>3.2.2  使用颜色  70<br>3.2.3  缓存交换  71<br>3.2.4  完整的虚拟图形系统  73<br>3.2.5  I/O、声音和音乐  73<br>3.3  T3DLIB游戏控制台  74<br>3.3.1  T3DLIB系统概述  74<br>3.3.2  基本游戏控制台  74<br>3.4  T3DLIB1库  79<br>3.4.1  DirectX图形引擎体系结构  79<br>3.4.2  基本常量  79<br>3.4.3  工作宏  81<br>3.4.4  数据类型和结构  81<br>3.4.5  函数原型  84<br>3.4.6  全局变量  88<br>3.4.7  DirectDraw接口  89<br>3.4.8  2D多边形函数  92<br>3.4.9  数学函数和错误函数  97<br>3.4.10  位图函数  99<br>3.4.11  8位调色板函数  102<br>3.4.12  实用函数  104<br>3.4.13  BOB(Blitter对象)引擎  106<br>3.5  T3DLIB2 DirectX输入系统  112<br>3.6  T3DLIB3声音和音乐库  116<br>3.6.1  头文件  117<br>3.6.2  类型  117<br>3.6.3  全局变量  117<br>3.6.4  DirectSound API封装函数  118<br>3.6.5  DirectMusic API封装函数  121<br>3.7  建立最终的T3D游戏控制台  124<br>3.7.1  映射真实图形到虚拟接口的非真实图形  124<br>3.7.2  最终的T3DLIB游戏控制台  126<br>3.8  范例T3LIB应用程序  134<br>3.8.1  窗口应用程序  134<br>3.8.2  全屏应用程序  135<br>3.8.3  声音和音乐  136<br>3.8.4  处理输入  136<br>3.9  总结  139<br><br>第二部分  3D数学和变换<br><br>第4章  三角学、向量、矩阵和四元数  142<br>4.1  数学表示法  142<br>4.2  2D坐标系  143<br>4.2.1  2D笛卡尔坐标  143<br>4.2.2  2D极坐标  144<br>4.3  3D坐标系  147<br>4.3.1  3D笛卡尔坐标  147<br>4.3.2  3D柱面坐标  149<br>4.3.3  3D球面坐标  150<br>4.4  三角学  151<br>4.4.1  直角三角形  151<br>4.4.2  反三角函数  153<br>4.4.3  三角恒等式  153<br>4.5  向量  154<br>4.5.1  向量长度  155<br>4.5.2  归一化  155<br>4.5.3  向量和标量的乘法  155<br>4.5.4  向量加法  156<br>4.5.5  向量减法  157<br>4.5.6  点积  157<br>4.5.7  叉积  159<br>4.5.8  零向量  160<br>4.5.9  位置和位移向量  160<br>4.5.10  用线性组合表示的向量  161<br>4.6  矩阵和线性代数  161<br>4.6.1  单位矩阵  162<br>4.6.2  矩阵加法  163<br>4.6.3  矩阵的转置  163<br>4.6.4  矩阵乘法  164<br>4.6.5  矩阵运算满足的定律  165<br>4.7  逆矩阵和方程组求解  165<br>4.7.1  克来姆法则  167<br>4.7.2  使用矩阵进行变换  168<br>4.7.3  齐次坐标  169<br>4.7.4  应用矩阵变换  170<br>4.8  基本几何实体  176<br>4.8.1  点  176<br>4.8.2  直线  176<br>4.8.3  平面  179<br>4.9  使用参数化方程  182<br>4.9.1  2D参数化直线  182<br>4.9.2  3D参数化直线  184<br>4.10  四元数简介  189<br>4.10.1  复数理论  189<br>4.10.2  超复数  193<br>4.10.3  四元数的应用  197<br>4.11  总结  200<br><br>第5章  建立数学引擎  201<br>5.1  数学引擎概述  201<br>5.1.1  数学引擎的文件结构  201<br>5.1.2  命名规则  202<br>5.1.3  错误处理  203<br>5.1.4  关于C++的最后说明  203<br>5.2  数据结构和类型  203<br>5.2.1  向量和点  203<br>5.2.2  参数化直线  204<br>5.2.3  3D平面  206<br>5.2.4  矩阵  206<br>5.2.5  四元数  209<br>5.2.6  角坐标系支持  210<br>5.2.7  2D极坐标  210<br>5.2.8  3D柱面坐标  211<br>5.2.9  3D球面坐标  211<br>5.2.10  定点数  212<br>5.3  数学常量  213<br>5.4  宏和内联函数  214<br>5.4.1  通用宏  218<br>5.4.2  点和向量宏  218<br>5.4.3  矩阵宏  219<br>5.4.4  四元数  220<br>5.4.5  定点数宏  221<br>5.5  函数原型  221<br>5.6  全局变量  224<br>5.7  数学引擎API清单  225<br>5.7.1  三角函数  225<br>5.7.2  坐标系支持函数  226<br>5.7.3  向量支持函数  228<br>5.7.4  矩阵支持函数  235<br>5.7.5  2D和3D参数化直线支持函数  245<br>5.7.6  3D平面支持函数  248<br>5.7.7  四元数支持函数  252<br>5.7.8  定点数支持函数  259<br>5.7.9  方程求解支持函数  263<br>5.8  浮点单元运算初步  265<br>5.8.1  FPU体系结构  266<br>5.8.2  FPU堆栈  266<br>5.8.3  FPU指令集  268<br>5.8.4  经典指令格式  270<br>5.8.5  内存指令格式  271<br>5.8.6  寄存器指令格式  271<br>5.8.7  寄存器弹出指令格式  271<br>5.8.8  FPU范例  271<br>5.8.9  FLD范例  272<br>5.8.10  FST范例  272<br>5.8.11  FADD范例  273<br>5.8.12  FSUB范例  275<br>5.8.13  FMUL范例  276<br>5.8.14  FDIV范例  278<br>5.9  数学引擎使用说明  279<br>5.10  关于数学优化的说明  280<br>5.11  总结  280<br><br>第6章  3D图形学简介  282<br>6.1  3D引擎原理  282<br>6.2  3D游戏引擎的结构  282<br>6.2.1  3D引擎  283<br>6.2.2  游戏引擎  283<br>6.2.3  输入系统和网络  284<br>6.2.4  动画系统  284<br>6.2.5  碰撞检测和导航系统  287<br>6.2.6  物理引擎  288<br>6.2.7  人工智能系统  289<br>6.2.8  3D模型和图像数据库  289<br>6.3  3D坐标系  291<br>6.3.1  模型(局部)坐标  291<br>6.3.2  世界坐标  293<br>6.3.3  相机坐标  296<br>6.3.4  有关相机坐标的说明  302<br>6.3.5  隐藏物体(面)消除和裁剪  303<br>6.3.6  透视坐标  308<br>6.3.7  流水线终点:屏幕坐标  315<br>6.4  基本的3D数据结构  321<br>6.4.1  表示3D多边形数据时需要考虑的问题  322<br>6.4.2  定义多边形  323<br>6.4.3  定义物体  327<br>6.4.4  表示世界  330<br>6.5  3D工具  331<br>6.6  从外部加载数据  332<br>6.6.1  PLG文件  333<br>6.6.2  NFF文件  335<br>6.6.3  3D Studio文件  338<br>6.6.4  Caligari COB文件  343<br>6.6.5  Microsoft DirectX .X文件  345<br>6.6.6  3D文件格式小结  345<br>6.7  基本刚性变换和动画  345<br>6.7.1  3D平移  345<br>6.7.2  3D旋转  346<br>6.7.3  3D变形  347<br>6.8  再看观察流水线  348<br>6.9  3D引擎类型  349<br>6.9.1  太空引擎  349<br>6.9.2  地形引擎  350<br>6.9.3  FPS室内引擎  351<br>6.9.4  光线投射和体素引擎  352<br>6.9.5  混合引擎  353<br>6.10  将各种功能集成到引擎中  353<br>6.11  总结  353<br><br>第7章  渲染3D线框世界  354<br>7.1  线框引擎的总体体系结构  354<br>7.1.1  数据结构和3D流水线  355<br>7.1.2  主多边形列表  357<br>7.1.3  新的软件模块  359<br>7.2  编写3D文件加载器  359<br>7.3  构建3D流水线  367<br>7.3.1  通用变换函数  367<br>7.3.2  局部坐标到世界坐标变换  372<br>7.3.3  欧拉相机模型  375<br>7.3.4  UVN相机模型  377<br>7.3.5  世界坐标到相机坐标变换  387<br>7.3.6  物体剔除  390<br>7.3.7  背面消除  393<br>7.3.8  相机坐标到透视坐标变换  395<br>7.3.9  透视坐标到屏幕(视口)坐标变换  399<br>7.3.10  合并透视变换和屏幕变换  403<br>7.4  渲染3D世界  405<br>7.5  3D演示程序  408<br>7.5.1  单个3D三角形  408<br>7.5.2  3D线框立方体  411<br>7.5.3  消除了背面的3D线框立方体  413<br>7.5.4  3D坦克演示程序  414<br>7.5.5  相机移动的3D坦克演示程序  416<br>7.5.6  战区漫步演示程序  418<br>7.6  总结  421<br><br>第三部分  基本3D渲染<br><br>第8章  基本光照和实体造型  424<br>8.1  计算机图形学的基本光照模型  424<br>8.1.1  颜色模型和材质  426<br>8.1.2  光源类型  432<br>8.2  三角形的光照计算和光栅化  437<br>8.2.1  为光照做准备  441<br>8.2.2  定义材质  442<br>8.2.3  定义光源  445<br>8.3  真实世界中的着色  449<br>8.3.1  16位着色  449<br>8.3.2  8位着色  450<br>8.3.3  一个健壮的用于8位模式的RGB模型  450<br>8.3.4  一个简化的用于8位模式的强度模型  453<br>8.3.5  固定着色  457<br>8.3.6  恒定着色  459<br>8.3.7  Gouraud着色概述  472<br>8.3.8  Phong着色概述  474<br>8.4  深度排序和画家算法  475<br>8.5  使用新的模型格式  479<br>8.5.1  分析器类  479<br>8.5.2  辅助函数  482<br>8.5.3  3D Studio MAX ASCII格式.ASC  484<br>8.5.4  TrueSpace ASCII.COB格式  486<br>8.5.5  Quake II二进制.MD2格式概述  494<br>8.6  3D建模工具简介  495<br>8.7  总结  497<br><br>第9章  插值着色技术和仿射纹理映射  498<br>9.1  新T3D引擎的特性  498<br>9.2  更新T3D数据结构和设计  499<br>9.2.1  新的#defines  499<br>9.2.2  新增的数学结构  501<br>9.2.3  实用宏  502<br>9.2.4  添加表示3D网格数据的特性  503<br>9.2.5  更新物体结构和渲染列表结构  508<br>9.2.6  函数清单和原型  511<br>9.3  重新编写物体加载函数  517<br>9.3.1  更新.PLG/PLX加载函数  517<br>9.3.2  更新3D Studio .ASC加载函数  527<br>9.3.3  更新Caligari .COB加载函数  528<br>9.4  回顾多边形的光栅化  532<br>9.4.1  三角形的光栅化  532<br>9.4.2  填充规则  535<br>9.4.3  裁剪  537<br>9.4.4  新的三角形渲染函数  538<br>9.4.5  优化  542<br>9.5  实现Gouraud着色处理  543<br>9.5.1  没有光照时的Gouraud着色  544<br>9.5.2  对使用Gouraud Shader的多边形执行光照计算  553<br>9.6  基本采样理论  560<br>9.6.1  一维空间中的采样  560<br>9.6.2  双线性插值  561<br>9.6.3  u和v的插值  563<br>9.6.4  实现仿射纹理映射  564<br>9.7  更新光照/光栅化引擎以支持纹理  566<br>9.8  对8位和16位模式下优化策略的最后思考  571<br>9.8.1  查找表  571<br>9.8.2  网格的顶点结合性  572<br>9.8.3  存储计算结果  572<br>9.8.4  SIMD  573<br>9.9  最后的演示程序  573<br>9.10  总结  576<br><br>第10章  3D裁剪  577<br>10.1  裁剪简介  577<br>10.1.1  物体空间裁剪  577<br>10.1.2  图像空间裁剪  580<br>10.2  裁剪算法  581<br>10.2.1  有关裁剪的基本知识  581<br>10.2.2  Cohen-Sutherland裁剪算法  585<br>10.2.3  Cyrus-Beck/梁友栋-Barsky裁剪算法  586<br>10.2.4  Weiler-Atherton裁剪算法  588<br>10.2.5  深入学习裁剪算法  590<br>10.3  实现视景体裁剪  591<br>10.3.1  几何流水线和数据结构  592<br>10.3.2  在引擎中加入裁剪功能  593<br>10.4  地形小议  611<br>10.4.1  地形生成函数  612<br>10.4.2  生成地形数据  619<br>10.4.3  沙地汽车演示程序  619<br>10.5  总结  623<br><br>第11章  深度缓存和可见性  624<br>11.1  深度缓存和可见性简介  624<br>11.2  z缓存基础  626<br>11.2.1  z缓存存在的问题  627<br>11.2.2  z缓存范例  627<br>11.2.3  平面方程法  630<br>11.2.4  z坐标插值  631<br>11.2.5  z缓存中的问题和1/z缓存  632<br>11.2.6  一个通过插值计算z和1/z的例子  633<br>11.3  创建z缓存系统  635<br>11.4  可能的z缓存优化  649<br>11.4.1  使用更少的内存  649<br>11.4.2  降低清空z缓存的频率  650<br>11.4.3  混合z缓存  651<br>11.5  z缓存存在的问题  651<br>11.6  软件和z缓存演示程序  652<br>11.6.1  演示程序I:z缓存可视化  652<br>11.6.2  演示程序II:Wave Raider  653<br>11.7  总结  658<br><br>第四部分  高级3D渲染<br><br>第12章  高级纹理映射技术  660<br>12.1  纹理映射——第二波  660<br>12.2  新的光栅化函数  667<br>12.2.1  最终决定使用定点数  667<br>12.2.2  不使用z缓存的新光栅化函数  668<br>12.2.3  支持z缓存的新光栅化函数  670<br>12.3  使用Gouruad着色的纹理映射  671<br>12.4  透明度和alpha混合  677<br>12.4.1  使用查找表来进行alpha混合  678<br>12.4.2  在物体级支持alpha混合功能  688<br>12.4.3  在地形生成函数中加入<br>alpha支持  694<br>12.5  透视修正纹理映射和1/z缓存  696<br>12.5.1  透视纹理映射的数学基础  696<br>12.5.2  在光栅化函数中加入1/z缓存功能  702<br>12.5.3  实现完美透视修正纹理映射  707<br>12.5.4  实现线性分段透视修正纹理映射  710<br>12.5.5  透视修正纹理映射的二次近似  714<br>12.5.6  使用混合方法优化纹理映射  718<br>12.6  双线性纹理滤波  719<br>12.7  Mipmapping和三线性纹理滤波  724<br>12.7.1  傅立叶分析和走样简介  725<br>12.7.2  创建Mip纹理链  727<br>12.7.3  选择mip纹理  734<br>12.7.4  三线性滤波  739<br>12.8  多次渲染和纹理映射  740<br>12.9  使用单个函数来完成渲染工作  741<br>12.9.1  新的渲染场境  741<br>12.9.2  设置渲染场境  743<br>12.9.3  调用对渲染场境进行渲染的函数  745<br>12.10  总结  753<br><br>第13章  空间划分和可见性算法  754<br>13.1  新的游戏引擎模块  754<br>13.2  空间划分和可见面判定简介  754<br>13.3  二元空间划分  757<br>13.3.1  平行于坐标轴的二元空间划分  758<br>13.3.2  任意平面空间划分  759<br>13.3.3  使用多边形所在的平面来划分空间  760<br>13.3.4  显示/访问BSP树中的每个节点  762<br>13.3.5  BSP树数据结构和支持函数  763<br>13.3.6  创建BSP树  765<br>13.3.7  分割策略  767<br>13.3.8  遍历和显示BSP树  775<br>13.3.9  将BSP树集成到图形流水线中  784<br>13.3.10  BSP关卡编辑器  785<br>13.3.11  BSP的局限性  793<br>13.3.12  使用BSP树的零重绘策略  794<br>13.3.13  将BSP树用于剔除  795<br>13.3.14  将BSP树用于碰撞检测  802<br>13.3.15  集成BSP树和标准渲染  802<br>13.4  潜在可见集  807<br>13.4.1  使用潜在可见集  808<br>13.4.2  潜在可见集的其他编码方法  809<br>13.4.3  流行的PVS计算方法  810<br>13.5  入口  811<br>13.6  包围体层次结构和八叉树  813<br>13.6.1  使用BHV树  815<br>13.6.2  运行性能  816<br>13.6.3  选择策略  817<br>13.6.4  实现BHV  818<br>13.6.5  八叉树  825<br>13.7  遮掩剔除  825<br>13.7.1  遮掩体  826<br>13.7.2  选择遮掩物  826<br>13.7.3  混合型遮掩物选择方法  827<br>13.8  总结  827<br><br>第14章  阴影和光照映射  828<br>14.1  新的游戏引擎模块  828<br>14.2  概述  828<br>14.3  简化的阴影物理学  829<br>14.4  使用透视图像和广告牌来模拟阴影  832<br>14.4.1  编写支持透明功能的光栅化函数  833<br>14.4.2  新的库模块  835<br>14.4.3  简单阴影  837<br>14.4.4  缩放阴影  839<br>14.4.5  跟踪光源  841<br>14.4.6  有关模拟阴影的最后思考  844<br>14.5  平面网格阴影映射  845<br>14.5.1  计算投影变换  845<br>14.5.2  优化平面阴影  848<br>14.6  光照映射和面缓存技术简介  848<br>14.6.1  面缓存技术  850<br>14.6.2  生成光照图  850<br>14.6.3  实现光照映射函数  851<br>14.6.4  暗映射(dark mapping)  853<br>14.6.5  光照图特效  854<br>14.6.6  优化光照映射代码  854<br>14.7  整理思路  854<br>14.8  总结  854<br><br>第五部分  高级动画、物理建模和优化<br><br>第15章  3D角色动画、运动和碰撞检测  858<br>15.1  新的游戏引擎模块  858<br>15.2  3D动画简介  858<br>15.3  Quake II .MD2文件格式  859<br>15.3.1  .MD2文件头  861<br>15.3.2  加载Quake II .MD2文件  868<br>15.3.3  使用.MD2文件实现动画  874<br>15.3.4  .MD2演示程序  882<br>15.4  不基于角色的简单动画  883<br>15.4.1  旋转运动和平移运动  883<br>15.4.2  复杂的参数化曲线移动  885<br>15.4.3  使用脚本来实现运动  885<br>15.5  3D碰撞检测  887<br>15.5.1  包围球和包围圆柱  887<br>15.5.2  使用数据结构来提高碰撞检测的速度  888<br>15.5.3  地形跟踪技术  889<br>15.6  总结  890<br><br>第16章  优化技术  891<br>16.1  优化技术简介  891<br>16.2  使用Microsoft Visual C++和Intel VTune剖析代码  892<br>16.2.1  使用Visual C++进行剖析  892<br>16.2.2  分析剖析数据  893<br>16.2.3  使用VTune进行优化  894<br>16.3  使用Intel C++编译器  899<br>16.3.1  下载Intel的优化编译器  900<br>16.3.2  使用Intel编译器  900<br>16.3.3  使用编译器选项  901<br>16.3.4  手工为源文件选择编译器  901<br>16.3.5  优化策略  902<br>16.4  SIMD编程初步  902<br>16.4.1  SIMD基本体系结构  903<br>16.4.2  使用SIMD  903<br>16.4.3  一个SIMD 3D向量类  912<br>16.5  通用优化技巧  918<br>16.5.1  技巧1:消除_ftol()  918<br>16.5.2  技巧2:设置FPU控制字  918<br>16.5.3  技巧3:快速将浮点变量设置为零  919<br>16.5.4  技巧4:快速计算平方根  919<br>16.5.5  技巧5:分段线性反正切  920<br>16.5.6  技巧6:指针递增运算  920<br>16.5.7  技巧7:尽可能将if语句放在循环外面  921<br>16.5.8  技巧8:支化(branching)流水线  921<br>16.5.9  技巧9:数据对齐  921<br>16.5.10  技巧10:将所有简短函数都声明为内联的  922<br>16.5.11  参考文献  922<br>16.6  总结  922<br><br>第六部分  附录<br><br>附录A  光盘内容简介  CD: 924<br><br>附录B  安装DirectX和使用Visual C/C++  CD: 925<br>B.1  安装DirectX  CD: 925<br>B.2  使用Visual C/C++编译器  CD: 925<br>B.3  编译提示  CD: 926<br><br>附录C  三角学和向量参考  CD: 927<br>C.1  三角学  CD: 927<br>C.2  向量  CD: 929<br>C.2.1  向量长度  CD: 930<br>C.2.2  归一化  CD: 930<br>C.2.3  标量乘法  CD: 930<br>C.2.4  向量加法  CD: 931<br>C.2.5  向量减法  CD: 931<br>C.2.6  点积  CD: 932<br>C.2.7  叉积  CD: 933<br>C.2.8  零向量  CD: 934<br>C.2.9  位置向量  CD: 934<br>C.2.10  向量的线性组合  CD: 934<br><br>附录D  C++入门  CD: 935<br>D.1  C++是什么  CD: 935<br>D.2  必须掌握的C++知识  CD: 937<br>D.3  新的类型、关键字和约定  CD: 937<br>D.3.1  注释符  CD: 937<br>D.3.2  常量  CD: 937<br>D.3.3  引用型变量  CD: 938<br>D.3.4  即时创建变量  CD: 938<br>D.4  内存管理  CD: 939<br>D.5  流式输入/输出  CD: 939<br>D.6  类  CD: 941<br>D.6.1  新结构  CD: 941<br>D.6.2  一个简单的类  CD: 942<br>D.6.3  公有和私有  CD: 942<br>D.6.4  类的成员函数(方法)  CD: 943<br>D.6.5  构造函数和析构函数  CD: 944<br>D.6.6  编写构造函数  CD: 945<br>D.6.7  编写析构函数  CD: 946<br>D.7  域运算符  CD: 947<br>D.8  函数和运算符重载  CD: 948<br>D.9  基本模板  CD: 950<br>D.10  异常处理简介  CD: 951<br>D.11  总结  CD: 954<br><br>附录E  游戏编程资源  CD: 955<br>E.1  游戏编程和新闻网站  CD: 955<br>E.2  下载站点  CD: 955<br>E.3  2D/3D引擎  CD: 956<br>E.4  游戏编程书籍  CD: 956<br>E.5  微软公司的Direct X 多媒体展示  CD: 956<br>E.6  新闻组  CD: 957<br>E.7  跟上行业的步伐  CD: 957<br>E.8  游戏开发杂志  CD: 957<br>E.9  Quake资料  CD: 957<br>E.10  免费模型和纹理  CD: 957<br>E.11  游戏网站开发者  CD: 957<br><br>附录F  ASCII码表  CD: 959
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证