二十四项全能体验 MCP68独家权威测试
一、DirectX到底是什么?
DirectX是一种图形应用程序接口(API),简单的说它是一个辅助软件,一个提高系统性能的加速软件,微软创建开发的。他的意思不难理解,Direct是直接的意思,X是很多东西,加在一起就是一组具有共性的东西,这个共性就是直接。
微软定义它为“硬件设备无关性”。DirectX伴随着我们走过了无数的风雨,现在主流的DirectX 9.0c自从04年发布以后,成为了无数游戏的标准,而现在我们又在为即将到来的DirectX 10做战备。
二、DirectX9.0b与DirectX9.0c的区别
与先前发布的DirectX 9.0b相比较而言,新版DirectX 9.0c加入了对ATi 3dc纹理压缩技术的支持,加入了nVIDIA的GeForce系列显卡所支持的Shader Model 3.0(包括Pixel Shader 3.0 和Vertex Shader 3.0两个着色语言规范),还修正了其它一些细小的错误。
三、什么是Shader Model 3.0
Shader Model 3.0 技术是微软DirectX 9.0c 发布后全面支持的一项特效。中文译名为优化渲染引擎3.0,国内不少玩家和媒体则简称其为SM3.0。
Shader Model 3.0 在很大程度上丰富了的游戏研发时的编程模型,方便游戏开发商更简单的做效果更好的游戏。Shader Model 3.0被应用到很多环境表面和混合的镜面光源中。和Shader Model 2.0相比,Shader Model 3.0最大的优势似乎就在于拥有置换贴图技术,而其它特效都完全可以在Shader Model 2.0中实现。即便如此,Shader Model 3.0 比之Shader Model 1.1 和 Shader Model 2.0 有不少优势,许多复杂的光影算法在 Shader Model 1.1 和 Shader Model 2.0 上无法实现。
实际应用于游戏,当你在丛林中漫步的时候可以看到头顶上的树叶在你的步枪上实时投下斑驳的阴影;在一些宏大的室内场景里,身型巨大的怪物的影子投射在你身边的墙上,预示着它的到来;熔岩场景中熔岩口上方的腾腾的热气模糊和扭曲了后方的影像。
SM 3.0的重点在HDR技术,全称为High Dynamic Range,即高动态范围,比如所谓的高动态范围图像(HDRI)或者高动态范围渲染(HDRR)。HDR并不是想许多玩家理解的那样就是简单的“高亮”,不是让画面有更大的亮度或是对比度。
大家都知道,当人从黑暗的地方走到阳光下时,我们的眼睛会不由自主的迷起来,那是因为在黑暗的地方,人为了更好的分辨物体,瞳孔张开很大,以便吸收光线;而突然到了光亮处瞳孔来不及收缩,视网膜上的视神经无法承受如此多的光线,人自然会迷上眼睛阻止大量光线冲击视神经。我们的眼睛非常敏感,而PC就不具备这种功能。
所以,HDR的最终效果因该是亮处的效果是鲜亮的,而黑暗处你也可以清晰的分辨物体的轮廓,位置和深度,而不是以前的一团黑。动态、趋近真实的物理环境是HDR的特效表现原则。
这里说明,并不是支持SM3.0的显卡才支持HDR,其实SM2.0都能实现对HDR的支持,区别在于SM2.0实现HDR的过程复杂,要消耗一定的VPU或者GPU的资源,而且过程复杂,大大增加程序员的负担并会使圆形速度变慢。
虽然都支持HDR效果,但是从3DMARK的测试场景我们还是可以看出,差别还是很大的,3DMARK06的SM 3.0的HDR效果更加真是细腻。