background image

DirectX 进行游戏程序设计

1.第 :DirectX 简介

1.1 说明

虽然这篇文章中的例子用

Visal C/C++ MFC 开发的,但是我们要注意到

, MFC 掩藏了

许多更好的内容。

1.2 什么是 DirectX?

DirectX 是 MicroSoft 提出的解决游戏开发者如何在 Win95 之下开发最佳游戏的问题解

决方案。游戏通常需要计算机的强大绘图能力,这时候

Windows95 成了个障碍。

DirectX 是在游戏程序设计方面提供大量功能的 API(应用程序编程接口),当然在其它

方面也很有用。

DirectX 主要由五个部分组成,如下所示:

1.2.1.DirectX 组件

DirectDraw

 2 维图形处理能力,表面,双缓冲,等等

Direct3D 是相对扩展功能的 3D 图形程序设计 API。

DirectSound  声音;3D 声音

DirectPlay

简化网络游戏的开发

DirectInput

处理各种外围设备输入

1.3.DirectX 性能和硬件加速

尽管

Direct3D 的软件性能并不差

,但是 DirectX 是为硬件加速设计的。这意味着图形卡

商能制造出以硬件支持

DirectDraw 和 Direct3D 的图形卡,并提供有关图形卡的驱动程序。

这将使图形卡执行绘图功能而

CPU 被解放了出来做其它的事情。典型的 Direct3D 加速器需

要至少

2 或 4 兆或者更多的显存来储存位图(计算机图形由象素组成)、纹理、精灵、覆盖图

overlay)和其它东西。

DirectDraw 和 Direct3D 在 硬 件 上 建 立 了 一 个 相 对 容 易 访 问 的 层 叫 作

“ 硬 件 抽 象

”(HAL)。假如有一个图形卡不提供以上功能。一个相应的软件执行程序将提供“硬件仿真

”(HEL)。

2.第 :调色板,编写游戏的概念,双缓冲等

2.1 显示模式

屏幕模式是指用多少位储存屏幕上每像素颜色。自然地,被用于每一个象素的位越多,

同时显示的颜色就越多

;但是也就有更多数据移入显存用来更新屏幕。

1,2,4 和 8 位

“索引”方式(8 位这种称呼更流行,比 256 色模式更为人所知)

16-位(64K 色)高彩色模式

24-位(16.7M 色)真彩色模式

32-位 RGBA 方式。前 3 字节与 24-位方式相同;A 字节用于"阿尔法-通道",提供了象素
不透明性的信息。
这些模式在下列分辨率是典型的,有效的:

320x240

640x400

640x480