内容简介
《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图形学感兴趣的人员阅读。
精彩书摘
本书的程序是使用Microsoft Visual C++6.0编写的。然而,多数情况下,也可以任何与Win32兼容的编译器进行编译。尽管如此,我还是推荐使用Microsoft VC++或.NET,因为用它们做这类工作最有效率。
如果您不熟悉您的编译器集成开发环境(IDE),编译Windows程序时肯定会遇到麻烦。因此,编译程序之前,请务必花些时间来熟悉编译器,至少达到知道如何编译控制台(console)程序“Hello World”的程度。
要编译生成Windows Win32.EXE程序,只需将工程的目标程序设置为Win32.EXE,再进行编译。然而,要创建DirectX程序,必须在工程中包含DirectX导入库。您可能认为只要将DirectX库添加到包含路径(Include path)中即可,但这样不行。为避免麻烦,最好手工将DirectX.LIB文件包含到工程中,.LIB文件位于DirectX SDK安装目录中的LIB\目录下。这样将不会出现链接错误。在大多数情况下,需要下面这些文件。
DDRAW.LIB:DirectDraw导入库。
DINPUT.LIB:DirectInput导入库。
DINPUT8.LIB:DirectInput8导入库。
DSOUND.LIB:DirectSound导入库。
WINMM.LIB:Windows多媒体扩展库。
具体使用上述文件时,将更详细地介绍它们;当链接器指出“未知符号(Unresolved Symbol)”错误时,请检查是否包含了这些库。我不想从新手那里再收到有关这方面的电子邮件。
除DirectX.LIB文件外,还需要将DirectX.H文件放到头文件搜索路径中。另外,请务必将DirectX SDK目录放在搜索路径列表的最前面,因为很多C++编译器带有旧版本的DirectX,编译器可能在其INCLUDE\目录下找到旧版本的头文件,而使用这些头文件是错误的。正确的位置是DirectX SDK的包含目录,即DirectX SDK安装目录中的INCLUDE\目录。
最后,如果读者使用的是Borland产品,请务必使用Borland版本的DirectX.LIB文件,它们位于DirectX SDK安装目录中的BORLAND\目录下。