| 周边设备 |
|
DirectX 8.0 前瞻
让所有玩家又恨又爱的游戏API —— DirectX 即将再次升级,DirectX 8.0目前已经基本成型,将在下个月开始beta测试,在这个版本中将有很多新特性,但是最大的改革可能是Microsoft 发行这个API的方式。
DirectX 可以被分成几个不同的API 对应补不同的游戏技术领域:图象,声音,多人游戏,以及游戏控制。我们将从这几个方面分别论述一下DirectX的新发展:
图形
历史上,DirectX中的图形API被分成两个部分:负责处理2D图形的DirectDraw以及负责处理3D图形的Direct3D。这中情况将发生改变了,Microsoft 在DirectX 8.0中计划将DirectDraw和Direct3D 合并为一个单一的API。改变的目的在于尽最大可能支持全屏幕运行的3D游戏软件。当然这并不是说窗口化的3D支持将取消,只是DirectX 8.0的工作重点是保证全屏方式的3D游戏获得最好的运行效果。Microsoft 认为DirectX 7.0很好地解决了窗口中的3D显示的问题,这一特性不会在DirectX 8中消失。
Microsoft计划将使DirectX API 更抽象化,这样创新的硬件可以自由的开发而不用等待DirectX的更新。当然,这些改进多数都是在系统下层进行的,比如,用于保存图象的前端缓存(front buffer)在DirectX中将不再能够直接操作。DirectX中还将带有光标(cursor)API,但是这次将允许硬件厂商支持全硬件加速的光标,这在以前是由DirectX支持的。
在3D 图象方面的一个非常重要的特性就是DirectX 8 将支持所谓“可编程阴影(programmable shader)”。DirectX中将支持两种类型的可编程阴影:顶点阴影以及像素阴影。顶点阴影可以用于复杂的环境映射,程序几何效果(比如运动网格),以及增强的距阵调色板皮肤(matrix palette skinning),这样可以生成更逼真的角色(比如人物的肘部运动的时候更象是肘而非一个铰接件)。
可编程阴影的采用将产生一些新的效果,比如真实反光效果的凹凸映射。可编程阴影并非新的技术,但是允许硬件加速可编程阴影是新的思想。这将允许3D程序员以寄存器级的操作直接访问图形卡上的阴影硬件而无须具备很多关于该图形卡的知识。理论上,这为硬件加速的程序化材质打开了通路(程序化材质指的是通过计算得到了材质,而不是保存的位图)。
图形和声音
在图象方面还增加了反走样(anti-aliasing)API。反走样技术一直是得到支持的,但是在API中显式的支持可以允许通过编程打开或者关闭,就象3dfx的T-Buffer 反走样一样。同样,DiretcX 8中还将具备多重抽样API(multisampling API),可以用来实现向运动柔化(motion blur)或者软性反射(soft reflections)这样的效果。DirectX 8还将支持“卷材质(volume textures)”, 这种技术可以用于生成光束在长距离上的散射效果,更好的雾效果等。
Microsoft 还计划使DirectX 超越传统的SGI风格的3D图形处理方式,比如支持全硬件加速的,非三角形基础的3D形体。这将使硬件加速的样条基础的变换和渲染成为可能。同时,Microsoft还将在DirectX 8中增加很多可伸缩的3D支持。
声音
象图形一样,Microsoft也希望能巩固——至少是巩固自己的两个声音API的地位,DirectSound以及DirectMusic。一个有趣的新特性是通过DLS2 可下载样本支持声音效果。这将允许游戏开发者借助全硬件加速的MIDI效果部件来辅助产生声音效果。另一个新的特性是可以将一个数字音频流(比如一个WAV文件)与一个MIDI样本混合,并且保持二者正确的同步和混音。这可能将使游戏的声音效果有很大改进。
DirectX 8将支持音频脚本(Audio scripting)特性。这样游戏开发小组的声音设计师可以自己控制声音的产生方式,游戏与玩家交互过程中声音的变化等等,而无须将这一切都告诉游戏小组的编程人员实现。
Creative Labs的EAX 声音回响技术的一部分将合并到DirectX的声音API中。适当的采用声音环境回响技术可以为游戏带来极其逼真的声音环境效果。
游戏控制器和多人游戏
游戏控制器
在这方面,作为DirectInput的补充,增加了DirectInput mapper 。 这一技术的确还处于早期阶段。DirectX 8.0 将不会用一个庞大的支持库来支持各种各样的输入设备,而是设计了一种通用型的语言,可以让游戏开发人员使用一种标准的方法操作多种复杂的输入设备。比如,你有一个USB 的方向踏板以及一个USB的游戏手柄,虽然它们是不同厂商制造的,有不同的驱动程序,但是却可以正常的同时使用。这种理想的效果在DirectX 8.0中未必能全部实现,但是Microsoft 向着游戏控制器标准化的方向作出了巨大努力。对于游戏制作人员来说,这意味着无须再通过不同的方式支持多种游戏控制器了。
多人游戏
DirectX 8.0中的多人游戏技术主要围绕网络,语音以及语音通信技术。在网络方面的提高在于Microsoft终于认识到,游戏家庭或者游戏场所中有多台连网的游戏PC,玩家希望它们都可以接到网络上进行游戏。因此象防火墙,路由等等复杂的网络问题这次都将被考虑在内。
同样,语音在游戏感觉中也扮演着越来越重要的角色。语音技术可以分成两个领域,语音合成以及语音识别。应该说可以将文本转化为语音的计算机已经不远了,虽然现在的合成语音听起来还是有些含糊和难听。而语音识别技术则可以用于游戏控制,这对于那些需要很多键盘控制的游戏有很大帮助。
另一个新兴的多人游戏技术领域是语音通讯。Microsoft正在将最近收购的ShadowFactor Software 的技术转化为DirectPlay 语音技术,将原来的Battlecom技术集成到DirectX中(Battlecom是由ShadowFactor Software 开发的voice-over-IP技术 )。这样玩家在进行多人游戏的时候将可以使用语音进行通讯。
应用管理和开发
应用管理
对于最终用户来说,DirectX 中的一个有争议的部分是它的应用管理器(Application Manager)。这是一个自动化的安装工具,不仅仅在你放入CD和DVD的时候自动安装游戏,还可以找到最好的安装位置,确保有足够的硬盘空间。我的理解是有一些用户可配置的特性,但是多大程度上可配置仍然是未知数。
应用管理器假设在你运行游戏的时候,CD或者DVD将一直放在驱动器中。例如,如果你有两个游戏:BozoMaster以及TideForce II。当你先把BozoMaster CD放在驱动器中的时候,安装脚本发现你的硬盘中没有足够空间。它将压缩或者删除TideForce II的核心部分。应用管理器假设你要运行TideForce II的时候,一定要重新放入CD,这样那些被删除的组件将可以重新安装。
这一特性能带来的易用性的提高是明显的,但是问题也同样巨大。如果TideForce II是从Internet安装的,或者是安装后不需要CD怎么办?应用管理器中还有一个用于管理补丁安装的组件,但是这是否意味着你必须有一个快速的Internet连接呢?因为每次这些补丁都需要重新安装。现在讨论这些细节可能还太早,但是这些地方确实令人担心。
DirectX与开发者
不过DirectX中最大的改变还是Microsoft的态度的转变,Microsoft一直以来对于游戏开发者是比较友善的,但是这次DirectX 8的体系的开放性是前所未有的。当我们与几个不同的Microsoft的员工交谈的时候,很明显的感觉到Microsoft的确听取了游戏开发者和硬件厂商的建议。
对于最终用户来说,DirectX 8.0 象以前的版本一样,技术是透明的。我们虽然都经历过DirectX升级带来的问题,但是总的来说DirectX工作的还是不错的。DirectX 8.0是最重要的版本之一,其重要性可能可以与DirectX 的诞生相比。我们希望可以看到一个高品质的软件。
|
|