为了方便大家一起学习游戏编程知识, 我写了一些关于DirectX游戏编程的实例. 所有的实例使用DirectX9.0c SDK August 2006 和 VS2003及以上版本编译并在 Windows XP Professional SP2(Build 2600) 下调试成功! 另整理了DirectX统计信息表, 你可以查看统计信息和下载自己需要的软件开发包.

实例 1 - 创建一个窗口程序

要编写非常漂亮的游戏程序就需要一个显示的窗口模式或使用全屏模式. 在本实例中我们将学习如何创建一个基本的Win32窗口程序和处理窗口消息.

实例 2 - 创建一个简单的D3D窗口程序

我们已经知道如何创建一个Win32的窗口程序并处理窗口消息. 在本实例中我们将学习如何创建一个使用Direct3D的窗口程序.

实例 3 - 创建一个全屏的D3D程序

在本实例中我们将学习如何创建一个全屏独占模式的D3D应用程序.

实例 4 - 创建检查硬件支持的D3D程序

在本实例中我们将查询系统硬件是否支持硬件加速, 是否可以按我们设置的显示模式创建高性能的D3D应用程序.

实例 5 - 设备丢失的处理

通常当你的D3D应用程序在全屏模式下切换到其他程序或是更改屏幕分辨率时都会丢失设备, 这样我们就要及时的恢复重置和恢复数据.

实例 6 - 创建可改变大小的D3D窗口程序

在本实例中我们将学习如何在改变窗口大小的情况下调整D3D的图形显示.

实例 7 - 创建多个视口

在本实例中我们将学习如何创建多个视口, 并在每个视口内渲染不同的图形.

实例 8 - 创建多个D3D设备

在正常情况下我们都是创建一个D3D设备, 当然在本实例中我们将学习创建多个D3D设备.

实例 9 - 创建交换链

在本实例中我们将学习如何创建交换链, 在不同的窗口中交换处理的信息.

实例 10 - 渲染图元类型

在本实例中我们将学习各种不同的几何图形渲染方法.

实例 11 - 创建顶点缓冲区

在本实例中我们将学习如何创建顶点缓冲区并使用定义的顶点数据.

实例 12 - 创建多数据顶点缓冲区

在本实例中我们将学习如何创建多个不同数据顶点缓冲区并使用定义的顶点数据.

实例 13 - 创建索引缓冲区

在本实例中我们将学习如何使用索引缓冲区加速渲染效率.

实例 14 - 图形变换 (准备中...)

在本实例中我们将学习三种基本的图形变换方式: 平移, 旋转和缩放.

实例 15 - 创建和使用2D字体 (准备中...)

基本上所有的游戏中都需要在屏幕上输出文字, 在本实例中我们将学习如何创建2D字体并在屏幕上输出.

实例 16 - 帧率控制 (准备中...)

在本实例中我们将学习通过帧率控制动画的播放.

实例 17 - 动态缓冲区 (准备中...)

动态缓冲区允许我们更改每帧的缓冲区内容. 在本实例中我们将学习如何创建并使用动态缓冲区.

实例 18 - 使用材质渲染 (准备中...)

在本实例中我们将学习如何使用材质.

实例 19 - 从文件创建纹理 (准备中...)

要描述现实中的3D物体我们将需要非常之多的顶点才可以达到, 但这是电脑很难实时计算的, 所以通常都是在物体的表面贴上纹理来模拟. 在本实例中我们将学习如何从文件创建一个纹理.

实例 20 - 使用纹理过滤 (准备中...)

在本实例中我们将学习如何使用点性过滤, 线性过滤和各向异性过滤.

实例 21 - 使用纹理寻址 (准备中...)

在本实例中我们将学习使用各种不同的纹理寻址.

实例 22 - 使用子纹理加载 (准备中...)

在本实例中我们将学习创建和使用子纹理.

实例 23 - 使用纹理映射 (准备中...)

使用纹理映射我们可以使表面看起来更加真实和快速, 在本实例中我们将学习如何使用纹理映射.

实例 24 - 创建多重纹理 (准备中...)

在本实例中我们将学习如何创建和使用多重纹理.

实例 25 - 使用帧缓冲区混合 (准备中...)

在本实例中我们将学习使用纹理物体与帧缓冲区混合实现物体的半透明效果.

实例 26 - 使用材质混合 (准备中...)

材质混合主要使用在物体的慢慢消隐方面, 在本实例中我们将学习如何使用材质混合.

实例 27 - 使用纹理混合 (准备中...)

在本实例中我们将学习如何使用纹理的透明通道混合两张纹理.

实例 28 - 使用点乘积凹凸映射 (准备中...)

点乘积凹凸映射也叫逐像素凹凸映射是使用法线图做纹理的混合操作, 通常也会提及逐像素光照和逐像素衰减. 在本实例中我们将学习如何使用乘积凹凸映射.

实例 29 - 创建公告板 (准备中...)

在游戏中为了节省资源和快速渲染物体我们通常使用一张纹理总是朝向我们来模拟一些不太重要的物体, 这种方法也称之为公告板技术, 在本实例中我们将学习如何创建公告板.

实例 30 - 加载静态X文件网格文件 (准备中...)

X文件是微软公司定义的网格数据格式, 并在DirectX程序中广泛使用. 在本实例中我们将学习如何加载一个静态的X文件并渲染到屏幕.

实例 31 - 创建雾和体积雾 (准备中...)

在3D场景中加入雾化效果能增加场景的真实感、纵深感和距离感,创造环境氛围。

实例 32 - 创建深度偏移 (准备中...)

在本例中我们将要学习如何通过创建深度偏移解决深度冲突。

实例 33 - 创建动态光照 (准备中...)
实例 34 - 创建阴影和体积阴影 (准备中...)
实例 35 - 创建点精灵 (准备中...)
实例 36 - 创建粒子系统 (准备中...)
实例 37 - 创建离屏渲染 (准备中...)
实例 38 - 使用高度图生成地形 (准备中...)
实例 39 - 使用多纹理创建地形详细纹理 (准备中...)
实例 40 - 遮面查询或视锥体裁减 (准备中...)
实例 41 - 单通浮雕凹凸映射渲染 (准备中...)
实例 42 - 双通浮雕凹凸映射渲染 (准备中...)
未完待续