为了方便大家一起学习游戏编程知识, 我写了一些关于DirectX游戏编程的实例. 所有的实例使用DirectX9.0c SDK August 2006 和 VS2003及以上版本编译并在 Windows XP Professional SP2(Build 2600) 下调试成功! 另整理了DirectX统计信息表, 你可以查看统计信息和下载自己需要的软件开发包.
要编写非常漂亮的游戏程序就需要一个显示的窗口模式或使用全屏模式. 在本实例中我们将学习如何创建一个基本的Win32窗口程序和处理窗口消息.
我们已经知道如何创建一个Win32的窗口程序并处理窗口消息. 在本实例中我们将学习如何创建一个使用Direct3D的窗口程序.
在本实例中我们将学习如何创建一个全屏独占模式的D3D应用程序.
在本实例中我们将查询系统硬件是否支持硬件加速, 是否可以按我们设置的显示模式创建高性能的D3D应用程序.
通常当你的D3D应用程序在全屏模式下切换到其他程序或是更改屏幕分辨率时都会丢失设备, 这样我们就要及时的恢复重置和恢复数据.
在本实例中我们将学习如何在改变窗口大小的情况下调整D3D的图形显示.
在本实例中我们将学习如何创建多个视口, 并在每个视口内渲染不同的图形.
在正常情况下我们都是创建一个D3D设备, 当然在本实例中我们将学习创建多个D3D设备.
在本实例中我们将学习如何创建交换链, 在不同的窗口中交换处理的信息.
在本实例中我们将学习如何创建顶点缓冲区并使用定义的顶点数据.
在本实例中我们将学习如何创建多个不同数据顶点缓冲区并使用定义的顶点数据.
在本实例中我们将学习如何使用索引缓冲区加速渲染效率.
在本实例中我们将学习三种基本的图形变换方式: 平移, 旋转和缩放.
基本上所有的游戏中都需要在屏幕上输出文字, 在本实例中我们将学习如何创建2D字体并在屏幕上输出.
动态缓冲区允许我们更改每帧的缓冲区内容. 在本实例中我们将学习如何创建并使用动态缓冲区.
要描述现实中的3D物体我们将需要非常之多的顶点才可以达到, 但这是电脑很难实时计算的, 所以通常都是在物体的表面贴上纹理来模拟. 在本实例中我们将学习如何从文件创建一个纹理.
在本实例中我们将学习如何使用点性过滤, 线性过滤和各向异性过滤.
使用纹理映射我们可以使表面看起来更加真实和快速, 在本实例中我们将学习如何使用纹理映射.
在本实例中我们将学习使用纹理物体与帧缓冲区混合实现物体的半透明效果.
材质混合主要使用在物体的慢慢消隐方面, 在本实例中我们将学习如何使用材质混合.
在本实例中我们将学习如何使用纹理的透明通道混合两张纹理.
点乘积凹凸映射也叫逐像素凹凸映射是使用法线图做纹理的混合操作, 通常也会提及逐像素光照和逐像素衰减. 在本实例中我们将学习如何使用乘积凹凸映射.
在游戏中为了节省资源和快速渲染物体我们通常使用一张纹理总是朝向我们来模拟一些不太重要的物体, 这种方法也称之为公告板技术, 在本实例中我们将学习如何创建公告板.
X文件是微软公司定义的网格数据格式, 并在DirectX程序中广泛使用. 在本实例中我们将学习如何加载一个静态的X文件并渲染到屏幕.
在3D场景中加入雾化效果能增加场景的真实感、纵深感和距离感,创造环境氛围。
在本例中我们将要学习如何通过创建深度偏移解决深度冲突。