前面说了这么多实际上还没有谈及DX10在图形技术方面最诱人之处,那就是Shader Model 4.0以及统一渲染架构:
● 4. DX10最新图形技术——Shader Model 4.0:
现在大家在选购显卡时都会关注GPU是否支持SM3.0——DX9C所必须的规格,而SM4.0就是一款DX10 GPU必须具备的特性。我们都知道SM3.0相比更早的SM2.0最明显的变化就是支持FP16 HDR技术(实际上SM3.0更多的指令让GPU运行效率也大为改进),带来更绚丽的光影效果,那么SM4.0比SM3.0优势在哪呢?
首先SM4.0规格令游戏程序开发员有更大的空间,例如SM4.0将不再拥有指令数值的上限,而SM3.0指令数不能超过32768条,SM2.0只有96条;色彩深度精确到32Bit;另外Texture由SM3.0的16个提升至128个,并硬件支持RGBE,令HDR不再需要特别的Decoding处理也能实现,HDR+AA将不再有这么多的麻烦。而且DX10将首度实现RayTracing光线追踪,并且将位移贴图Displacement作为标准之一。
对比上代DX9的渲染流程,新一代DX10做了非常大的改动,Pipeline架构完全Shader化,淡化了渲染的慨念,新增了Geometry Shader Stage,它可以为每个顶点的边缘进行几何量Shader运算,在完成Vetex Shader及Geometry Shader Stage后,D3D10可以Stream Output,让结果直接返回流水线作业之初再进行处理,而不再需要先运行Pixel Shader Stage简化的部分程序。以往D3D拥有部分固定的机能,如Fog、Point Sprites、Clip Planes及Alphatest等特定指令,但D3D10将需要程序开发者自行用Pixel Shader语言来实现。
● 5. DX10最新图形架构——Unified Shader:
SM4.0是DX10最重要的图形技术,不过最受大家关注的技术可能就是Unified Shader(统一渲染)。
传统3D渲染过程:从顶点到多边形,最后进行表面渲染
DX8以来GPU硬件就被分为顶点着色和像素渲染两大部分,分别处理3D建模和表面渲染,由于3D图形渲染的过程就是先建模后渲染,所以这种架构可以说是天经地义。而在DX10中,将不再有像素和顶点之分,听起来有些不可思议,为什么要将它们统一起来呢?
传统GPU渲染存在的问题:像素和顶点未能得到有效利用
像素和顶点的使用率是动态变化的,当前GPU很多资源被浪费
DX10 GPU硬件统一渲染,最大限度调动所有Shader单元
DX10最显著的变化就是完全放弃GPU当中的固定渲染模式,并且支持GPU行为的完全自由化,即GPU不在明确划分像素着色和顶点着色单元,并且支持多种任务,如2D/3D/视频加速等等任务的自由分配。
这里需要注意的是,统一渲染架构是将顶点渲染和像素渲染的硬件处理单元统一起来,并不是没有顶点和像素渲染操作。实际上3D图形的渲染过程依然是先顶点再进行表面渲染处理,只不过顶点和像素都会调用统一的Shader单元,而不是原来的顶点单元/像素管线!
● 6. 游戏性能提高8倍——淡化API、驱动和CPU:
微软声称DX10可以将游戏性能最大提高到6-8倍,这个数值看似比较夸张,其实在架构和渲染等多方面的优化条件下,充分发挥GPU的资源是完全有可能的:
为了优化操作系统对游戏的支持能力,Vista加入全新的IHV控制内核及用户模式驱动程式,操作系统提升虚拟化的资料给图形程序及GPU,以加快执行效率及稳定性,配合全新D3D10的程序语言,给程序员更大的设计弹性,更能发挥硬件的应有效能。
(责任编辑:刘伟) |