【IT168 资讯】可编程的shader自从在DirectX8规格中引入以来,就开始占据游戏设计的中坚位置,OpenGL也加入之后它的地位更加强势,几乎市面上所有的3D加速游戏都进行shaders处理,即使是仅需要一点点水面反光效果。2000年DX8问世直到2002年DX9中引入Shader Model 1.0,ATI、nVIDIA兼容硬件的推广使得shader编程处理模式大行其道。
GeForce3中引入的可编程shaders处理概念就是这项革命的开始,在此之前开发人员关注的是多材质帖图和硬件T&L处理,而现代的显卡如R520、R580等内部结构则完全是一副顶点以及象素shader处理单元的架势,游戏开发者们大大提高了自由度,他们再也不需要像以前那样等待显卡厂商的举动才能加入各种游戏特效了。D3D和OpenGL还能够提供真实光照以及运动模糊等特效,就让我们随着这款Offset游戏引擎,来感受一下最热门的未来3D图形技术吧。
Offset公司开发的“Project Offset”是一款FPS、RPG结合的游戏,其中最引人瞩目的是他们自行设计的统一光照与shader构架的Offset引擎,号称能够实现游戏的真正实时电影画质,进度方面据称现在已经完成了70%。Offset的创立者为Sam McGrath、Travis和Trevor Stringer,艺术总监Rod Green有着丰富的游戏创作经验,他是非常看好这款引擎才来到Offset公司的。而更有震撼力的是,暴雪公司的人要用这个引擎来打造他们的下一代MMO游戏!今年2月份,魔兽世界的Mark Kern、暴雪总监William Petras已经与这个引擎签订了和约!
在Offset engine中使用了很多先进的技术和特效,甚至Doom和Unreal游戏中我们都没有见到,而每一种下面我们将要介绍的特效都对游戏的画面真实性有很大的影响。offset引擎力求在整合这些特效的同时达到很大的效率,高画质下现代显卡的帧数也不错。看吧,你的上千美元的显卡就是用来干这个的!
shaders和DirectX
这款Project Offset游戏的最低需求为Shader Model 2.0的显卡,不过是使用完全的DirectX 9.0c Shader Model 3.0设计的,还能够在Vista问世之后过渡到DirectX10平台,也就是统一构架的SM4.0,大大提高效率。
SM2.0与SM3.0是非常相似的,SM3.0的优势就是能够在每个shader中使用更多的指令,同时还多了额外的指令支持。例如SM3.0可以让函数中的一个变量参加运算而其余的保持不变,SM2.0是做不到这一点的,这就使得SM3.0的效率更高一些。
High Dynamic Range
![]() |
![]() |
HDR不能称作是一个特效,似乎叫做一种运算更合适,基本上HDR是用来运算出那些超过亮度水平的颜色值的(当前色深下,如24bit、32bit),通常都是浮点值运算,这也使得它非常影响速度。HDR使得不同环境中的光线有了更好的表现,也实现了Bloom、曝光等特效。SM2.0中就已经引入了HDR运算,SM3.0中将其精度提高到了32bit。
对性能的影响:低——因为Offset引擎把它集成在了渲染管线中。
部署难度/时间:中等——对于一款已经成型的引擎转换到HDR支持是非常困难的,但是对于设计用来支持HDR的Offset引擎就是轻而易举的事情了。
光晕特效(Specular Bloom):
![]() |
![]() |
因为HDR集成到了渲染管线中,境面光晕效果也非常容易加入了,亮光在物体的周围形成了一个非常耀眼的光晕效果。
性能影响:中低——加入了一些预处理,可以设置光晕效果的质量。
部署难度/时间:预处理结构使得光晕效果可以很容易的加入到引擎中。