DX10重要改进之三:渲染预测
在很多的3D场景中,有一些物体是被遮挡的,如果对这些被遮挡的部分进行渲染,是对资源的一种浪费。在NVIDIA和ATI的图形芯片中,二者通过某种算法,不对遮挡的部分进行渲染,但尽管如此,还是会浪费不少宝贵的渲染资源。而DirectX 10则引入了渲染预测,来解决这种问题。渲染预测可以一个简单物件的渲染,来判断复杂物件的部分是否被遮挡,用小规模的渲染来判断大规模,高复杂化的渲染,的确要划算的多。

『Early Z技术可以更早判定无用像素』
NVIDIA就是采用了Early Z技术来实现渲染预测,它会在像素进入PS单元之前判断这个像素的价值,如果判断为无用像素,就直接省去了进入PS单元的过程,从而节省了相应的渲染单元,提高渲染效率。具备Early Z技术的GeForce 8800 GTX GPU可以相对于7900 GTX提升4倍的无用像素选择速度。
◆ DX10重要改进之四:纹理阵列
包括在DirectX 9.0C中,多张纹理的切换操作,在一定程度上增加了CPU的复合,原因很简单:每次的切换都需要调用DirectX的函数,而绘制一个新纹理的物件,都需要进行这种切换操作,甚至要实现有些特殊的材质特效,可能需要进行多次切换。因此,曾经有一些游戏,将小的纹理合并到大的纹理中,通过赋予不同物件局部纹理的方式,减少纹理的切换,以提升游戏的运行效率以及CPU的占有率。这种方式的效果相当不错,但实现起来比较复杂,DirectX 9.0c对于纹理,是有一定尺寸限制的,仅为4096*4096,假如要容下更多的纹理,甚至需要增加多张大纹理的切换,造成运行效率的下降。
而在DirectX 10中,微软引入了新的纹理整列,DirectX 10允许图形芯片进行512张纹理的同时维护,并且,Shader可以使用新的指令来随意提取维护纹理中的任意一张,这就意味着,DirectX 10将纹理切换的工作移交给了GPU,并且,GPU进行纹理切换操作,有助于降低和存在于显存中的纹理的操作延迟。在目前的DirectX 10中,应用程序只需要赋予纹理整列中的纹理索引号,即可由GPU来为物件选择纹理。

『纹理阵列让物体纹理的更加复杂和多样性』
DirectX 10中,每张纹理贴图的分辨率被提升到了8192*8192,每个Shader能够同时访问的数量,也增加到了128个,因此,DirectX 10中,Texture的细节精细度和多样性,都有了极大的提升。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>