本书是基于DirectX 9.0编写的,是介绍Direct3D技术的入门教程。它详细介绍了Direct3D的背景、基本知识以及3D程序设计的相关概念与技术。全书由浅入深,分为四个部分,第一部分介绍Direct3D的发展历史和基本知识,对3D程序设计中的术语、概念进行了深入讲解;第二部分着重讨论纹理映射技术,包括多重纹理等;第三部分通过多个示例来探讨高级shader编程,并对MD3文件格式做了详细分析;第四部分是附录,对本书中用到的概念和技术背景进行了简单补充。
本书适用于略有DirectX基础的C/C++程序员学习Direct3D游戏开发,也适用于具有Direct3D开发经验的程序员参考。
第1部分 Direetx图形:Don’t Hurt Me
第1章 Direct3D/DirectX的历史
1.1 DirectX 2.0
1.2 DirectX 6/7
1.3 DirectX 8
1.3.1 Point Sprite
1.3.2 3D纹理
1.3.3 Direct3DX实用程序库
1.3.4顶点Shader和像素Shader
1.4 DirectX 9
1.5 小结
第2章 HAL和COM概述
2.1 硬件抽象层(Hardware Abstraction Layer,HAL)
2.2插件式软件设备(Pluggable Sottware Device)
2.3参考光栅器(Reference Rasterizer)
2.4设备控制
2.5 COM
2.6 小结
第3章 编程约定
3.1 访问COM对象
3.2命名约定
3.3调试DirectX
3.4返回码
3.5 小结
第4章3 D基础、Gouraud着色、纹理映射基础
4.1 3D基础
4.2理解顶点
4.3 使用朝向
4.4理解面(face)
4.5理解多边形(polygon)
4.6理解法线(normal)
4.7理解法线和Gouraud着色
4.8纹理映射(Texture—Mapping)基础
4.9 小结
第5章 基础
5.1 编译示例
5.2 DirectX Graphics通用体系结构
5.3 Basic示侈0
5.3.1 CorffirmDevice0、OneTimeScenelnit()和InitDeviceObjects()函数
5.3.2 RestoreDeviceObjects()方法
5.3.3 FrameMove()函数
5.3.4 Render()函数
5.3.5 InvalidateDeviceObjects()函数
5.3.6 DeleteDeviceObjects()函数
5.3.7 FinalCleanup()函数
5.4 Basic2示例
5.4.1 InitDeviceObjects()函数
5.4.2 RestoreDeviceObjects()函数
5.4.3 Render()函数
5.4.4 InvalidateDeviceObjects()函数
5.4.5 DeleteDeviceObjects()函数
5.4.6 FinalCleanup()函数
5.5 Basic3示例
5.6 Basic4示例
……