DirectX 教程,第二课 (Direct3D 设备初始化)





1.00/5 (25投票s)
2004 年 8 月 29 日
2分钟阅读

83240

1049
C# 中 DirectX 教程的第二课。
引言
这是 C# 中 DirectX 游戏编程系列教程的第二课。我有些东西忘记在第一课中包含进去了。要在您的机器上运行这些教程,您必须安装 Microsoft Visual C# 2003 搭配 .Net framework 1.1 以及 Microsoft DirectX Sdk 9C 搭配托管 DirectX。
现在回到我们的教程,我们已经到达了聚会的开端,那么 Direct3D 初始化是什么呢?
在回答这个问题之前,我们必须了解一些 Direct3D 使用的术语,其中最重要的术语是设备 (Device),那么什么是设备呢?
如今的每台电脑都有显卡,我们有数百种型号,具有各种 功能,那么我们是否需要维护不同的方式来与不同的 卡片交互,换句话说,我们是否需要编写代码来处理每种卡片型号?
不,因为如果这是真的,就没有人会玩任何游戏了,因为想象一下您打包了 您的游戏,然后之后推出了一张新卡片,如果这些话是真的,您的游戏在新卡片上将无法运行,那么我们如何保持 我们的游戏在所有卡片上的可玩性呢?
Direct3D 已经为我们回答了这个问题,通过使用已知的 设备 (Device),设备所起的作用非常简单,简单来说,每个卡片供应商 都会制作所谓的卡片驱动程序 (Card Driver),这是一个用于处理 对卡片的任何特定使用的接口,Direct3D 只是使用这些驱动程序,它们具有 一个固定的框架,无论供应商是谁,我们现在将看看这个模型。
这个模型被称为 HAL (Hardware Abstraction Layer,硬件抽象层)。HAL 是由设备制造商提供的、面向设备的接口,Direct3D 使用它直接与显示硬件进行 交互。应用程序永远不会直接与 HAL 交互。相反,借助 HAL 提供的基础设施,Direct3D 会公开一套一致的 接口和方法,应用程序使用这些接口和方法来显示图形,有关 此主题的更多信息,请随时查阅 DirectX SDK。
现在我们已经了解了关于设备的所有必要知识,所以初始化就是简单地 初始化设备对象,换句话说,就是选择它的工作模式,例如 分辨率、颜色深度、顶点处理类型等等,我们将在课程进行中涵盖所有这些 主题,但现在我们只是初始化 设备,使用最简单的属性,以便在窗口模式下使用它,而不添加太多 功能。
现在第二课已经结束,我们将跳到第三课的第 3 部分。
Mohamed Meshref