最近的几次文章的评论中不少读者提到文章的更新速度的更新量的问题,浅墨会逐渐重视起来,尽量在保证质量的基础上,每周都拿出够分量的内容。本周的文章算是近几次更新量的一个弥补,这篇文章的字数达到了近一万字。
一、DirectX11的现有组件
DirectX的API被分为颇多组件,每一组件都展现了系统不同方面的功能。其中的每一套API都能被独立的使用,因此我们可以按照所需有选择地自由添加我们游戏中需要的功能。在最新版本的DirectX中,不少组件迎来了更新,如Direct3D.其他的组件保持着现有的功能,当然,也有一些被弃用的组件面临着被移除的命运。值得一提的是,DirectX中的各个内部组件可以独立进行新功能的升级。
下面进行分别介绍:
1.Direct2D
Direct2D用于Win32应用程序中2D图形的绘制。Direct2D善于高性能矢量图形的渲染。
2. DirectWrite
DirectWrite用于Direct2D应用程序中的字体和文字渲染。
3 . DXGI
DXGI(DirectX Graphics Infrastructure)即DirectX图形基础,用于
Direct3D交换链(swap chains)和枚举设备适配器(enumeration of deviceadapters)的创建。
4 .Direct3D
Direct3D用于DirectX中所有的与3D图形相关的操作。Direct3D可谓DirectX中的大牌级API,受到了微软最多的关怀与多次针对性的更新,它也最多被世人所熟知。这个专栏后续内容的大部分的篇幅将集中于讲解Direct3D上。
5. XAudio2
XAudio2 是一款底层的音频处理API,以前为XDK(Xbox Development Kit)的一部分,目前,隶属于DIRECTXSDK.XAudio2替换了DirectSound.初始版本的XAudio用于的第一代Xbox游戏机。
6. XACT3
XACT3是一款建立在XAudio2之上的更高级别的音频处理API.XACT3允许开发者在他们的应用中使用跨平台音频创作工具。若开发者希望从底层控制音频系统或者希望创建自己的类型于XACT3的更高级别的音频系统,可以运用XAdio2来完成各项功能。tbwXACT3,我们已经在附录B中讨论过,作为“DIRECTX中的声音”从配套网站,是一款非常容易上手的游戏音频制作工具。
7. XInput
XInput是XDK和DirectX SDK的负责输入功能的 API,用于处理Xbox 360控制器输入。基本上任何可以在Xbox 360上可以使用的命令,都可以在PC上使用,而XInput就是帮助我们在这些设备上进行输入相关操作的API.这些设备不仅包含Xbox手柄,也包含了其他很多设备。需要说明的是,XInput 替换了之前版本的DirectInput.
注:XAudio是只能用于Xbox游戏机的音效API. XAudio2,其继任者,可用于Xbox游戏机和基于Windows的PC.
8 . XNAMath
新出现的XNA Math 不是一款API,而是是一个数学库,进行电子游戏中常见运算的优化工作。XNA Math采用了SIMD (Single Instruction Multiple Data单指令多数据)来执行多个操作的单指令调用。XNA Math库适用于基于Windows的PC以及Xbox 360.相关内容我们将在后续内容继续讲解。
注:XNA GameStudio为一款基于DirectX的游戏开发工具,可供我们使用C#和。NET编程语言来为Xbox360与Windows PC平台编写游戏。而XNA Math是一款DirectX SDK中数学库的名字,可独立于XNA Game Studio单独使用。我们使用XNA Math不必下载XNA Game Studio SDK.
9 . DirectCompute
DirectCompute是一款DIRECTX 11中新加入的API,作用为支持GPU的通用多线程计算(general purpose multi threading computing)。GPU具有并行处理多任务的能力,如物理,视频压缩与视频解压,音频处理等。并非所有的任务都适合GPU来完成,但是对于这些,由GPU来完成的可能性是巨大的(but for those that are, the possibilities are tremendous)。想了解DirectCompute的更多信息,可以查阅相关资料。
10. DirectSetup
当我们完成游戏开发的时候,我们理所当然地需要把完成品呈现给用户。DirectSetup给我们提供了在用户的电脑上安装最新版本的DirectX的功能。DirectSetup也具有检查已经安装了的DirectX版本号的功能。
11.Windows Games Explorer
WindowsGames Explorer(游戏资源管理器)是Windows Vista与Windows 7中的新特性,可供游戏开发者在他们的操作系统上展示(测试)他们的游戏。比如游戏的显示,标题,评级,描述,特定区域的风格框,评分内容(如M为成人,T为青少年等),游戏数据统计和通知,家长控制等。DirectX SDK中提供了大量如何使用自己的游戏的游戏资源管理器的教程,这对于发行一款游戏是非常有用的。下面的图1是浅墨电脑上的Windows7游戏资源管理器的界面截图