DX10不再遥远!亲身体验DX10技术特性
● 庞大规模的独立景物渲染:
现有的DX9游戏都不敢在同一屏幕内设置太多景物,因为这样会导致GPU资源消耗殆尽,而在DX10模式下,有了几何着色和顶点着色的相互配合,一切都会变得相当简单:
在以前一个场景中,同样的3D模型会被多次渲染成不同的物体,这样的物体被称为“实体”(instance),而Instancing可以让这些“实体”只渲染一次,这大大提高了Shader的效率。此前场景中每一个模型的几何建模都需要GPU来进行渲染,但如果利用“Instancing”功能,程序员定义一个模型构建的多个“实体”,这些实体通过顶点着色被编译成不同的几何目标。例如:在一定频率下,顶点频率流分配器可以读取动态数据(例如生气表现的渲染数据)和使用一样的几何模型数据来描述一位士兵,但渲染军队所有士兵时不再是采用完全克隆的渲染方式,每一个士兵都有唯一的外观和表情。这在过去需要用很多指令才能实现的效果变得轻而易举,大大方便了开发人员的工作应用,也减轻了CPU和带宽的负担。
● 物理加速技术——布料访真、烟雾:
DEMO的场景非常简单,在空间内有三颗蛋,一片布料在随风飘扬,可以设定风向和风量,然后通过鼠标在空间内移动,布料就会与蛋出现摩擦接触现象,与现实情况高度吻合!
这个实例演示了烟雾喷向雕像时产生的气流干涉现象。
在NVIDIA提供的白皮书内,记录了非常详细的布料和烟雾模型的渲染方式和建模方案。主要通过利用顶点纹理和几何三种着色模式的搭配。
● 暴雨天——用几何着色来挤压雨滴模型:
这个实例可以手动控制风向从而改变下雨的倾斜程度,设定为毛毛细雨或者是倾盆大雨,总之就是现实生活中可变的下雨天气。
雨滴使用传统的纹理结构,经过预先计算好的点光源照射,雨的大小主要依靠几何着色改变雨滴轮廓,简单的说就是“挤压”雨滴的模型,让它变成长线或者是小颗粒,从而形象的反映出下雨的大小程度。道理和毛发渲染基本一致。