如果使用Windows操作系统,DirectX对你来说一定是个耳熟能详的名字,尤其是为Windows平台开发的游戏爱好者。但是您是否确切地知道它是什么以及它是如何工作的?请阅读以下文章。
什么是 Microsoft DirectX?
Microsoft DirectX 是一组应用程序编程接口 (API),用于处理与多媒体相关的任务,尤其是 Microsoft 平台上的游戏和视频编程。最初,所有这些 API 的名称都以 Direct 开头,例如 Direct3D、DirectDraw、DirectMusic、DirectPlay、DirectSound 等。 DirectX 名称被设置为所有这些 API 的缩写词(X 代表特定的 API 名称)并很快成为集合的名称。当微软成立开发游戏机时,X 被用作 Xbox 名称的基础来指代基于 DirectX 技术的游戏机。最初 X 位于为 Xbox 设计的 API 名称之前,例如 XInput 和跨平台音频创建工具 (XACT),而 DirectX 模型继续用于 Windows API,例如 Direct2D 和 DirectWrite。
Direct3D(DirectX 中的 3D 图形 API)广泛用于为 Microsoft Windows 和 Xbox 游戏机开发视频游戏。 Direct3D 也被其他图形软件应用程序使用,例如 CAD/CAM 技术。由于 Direct3D 是 DirectX 最广泛发布的组件,因此经常看到“DirectX”和“Direct3D”名称可以互换使用。
DirectX 软件开发工具包 (SDK) 包括可重新分发的二进制形式的运行时库,以及用于加密的随附文档和标题。最初,运行时仅由某些游戏和用户安装。 Windows 95 没有 DirectX,但 DirectX 包含在 Windows 95 OEM Service Release 2 中。Windows 98 和 Windows NT 4.0 都包含 DirectX,并包含在此后发布的 Windows 版本中。 SDK 可免费下载。虽然运行时是专有的,但闭源软件,为大多数 SDK 模型提供源代码。从 Windows 8 Developer Preview 版本开始,DirectX SDK 已集成到 Windows SDK 中。
DirectX 组件
DirectX分为三层(layers):基础层(Foundation Layer)、媒体层(Media Layer)和组件层(Components Layer)
* 基础类:
Foundation 是 DirectX 的核心部分,它是构成 Windows 中高性能多媒体活动基础的低级 API 集。通过基础层可以影响以下 API:
+ DirectDraw: 管理图形表面。
+ Direct3D: 提供低级 3D 功能。
+ DirectInput: 支持输入设备,包括新一代操纵杆。p>
+ DirectSound: 提供音效和混音器。
+ DirectSound 3D:帮助从传统的 2D 扬声器创建 3D 音效。
+ DirectSetup: 帮助自动安装软件、驱动程序
* 车辆类:
DirectX 的媒体层包括应用程序级 API,利用平台层的功能。这些媒体类服务独立于设备。这意味着课程包括:
+ Direct3D: 提供一组 3D 性能特征。
+ DirectPlay: 支持多人在线加入游戏。
+ DirectShow: 管理幻灯片放映。
+ DirectAnimation: 提供动画功能。
+ DirectModel: 提供 3D 模拟能力。
* 组件类:
Components Layer是DirectX的顶层,它可以利用上面两层(Media和Foundation)的特性,包括:
+ NetMeeting: 支持计算机网络中的团队合作。
+ ActiveMovie: MPEG电影管理和演示工具集,支持播放音视频文件。
+ NetShow: 支持通过互联网传输多媒体内容。
DirectX 是如何工作的?
如上所述,DirectX 是 Microsoft 构建的用于多媒体处理目的的 API 集合。它包括一个大型 DLL 库,允许软件开发人员,尤其是游戏开发人员直接访问计算机硬件。因此,开发人员可以创建高质量的图形,但速度快,声音丰富,输入设备没有编程问题。但是,如果必要的硬件不在特定的 PC 计算机配置中,DirectX 将从软件端模拟所需的功能。
直接访问计算机很重要。当 DOS(磁盘操作系统)盛行时,您可以清楚地看到这一点。那时,开发人员可以在计算机环境中将他们的梦想变为现实。因为他们可以轻松访问 VGA 卡、输入设备、声卡等。
DOS、硬件和应用程序之间的通信
但是,当计算机制造商开始开发更复杂的硬件时,软件开发人员很难编写正确的代码来访问特定硬件。
微软认识到这个问题,推出了Windows 95操作系统。他们承诺,由于引入了即插即用技术,这台计算机将比以往任何时候都更简单。有了这项技术,所有 PC 用户只需将任何新硬件插入计算机,系统就会自动检测到它。
Windows 95 还带有一个独立的设备管理系统,但是,目前大多数软件开发人员并不觉得为这个平台开发应用程序具有吸引力。因此,他们仍然使用 DOS 模式来运行他们开发的软件。这要求用户在运行应用程序之前将计算机引导到 DOS 模式。此外,开发人员必须编写类似于 DOS 的系统。
通过 Windows 95 实现硬件和应用程序之间的通信
从这些问题中,计算机软件制造商创建设备驱动程序并沿用至今。该驱动程序用于确保新硬件设备与任何可能的 PC 配置组合兼容。
因此 DirectX 变得很方便。当今的大多数计算机系统都能够以方便的方式同时运行使用 DirectX 的应用程序和应用程序。此外,软件开发人员可以像使用 DOS 一样为 Windows 编写应用程序。
游戏中的 DirectX
DirectX 拥有应用程序或软件与硬件通信所需的一系列重要命令和工具。这就是为什么使用 DirectX 的游戏通常具有非常逼真的图形(逼真的图像)。借助 DirectX,由于低级语言支持,开发人员可以充分利用支持 3D 的图形处理单元、声卡和其他硬件。
什么时候需要 DirectX?
您需要 DirectX 的大部分时间是在您想要玩专为 Windows 98 或更新的操作系统设计的游戏时。但是,您需要知道要使用的 DirectX 版本。幸运的是,如果您要玩的游戏需要系统中没有的 DirectX 版本,您无需担心。游戏通常附带所需 DirectX 版本的安装程序。此外,请务必为您的硬件安装最新的驱动程序,尤其是显卡和声卡。请参阅文章 5 种更新和更新计算机驱动程序的基本方法。
查看更多:
- 如何下载 Direct X 并在您的计算机上安装 DirectX
- 什么是 DirectX 12?有多重要?
- 游戏无法在 PC 上运行的原因
评论