CineFX3.0引擎我们曾经在以前的文章介绍过了,详细请看《显卡技术: NV40的最新技术宣言——CineFX3.0》,Shader Model 3.0规范和以往最大的区别主要体现在Piexl Shader3.0上,下面让我们补充一个列表来了解API的定义。关于CineFX3.0引擎开始有人怀疑是NVIDIA的这个技术在软件上实现的8条渲染通道,而实际的NV40只有8条通道,因此这种猜测显然是不合理的。因为如果在渲染时像素无纹理的条件下,核心只做阴影就把原先在做纹理的资源调用过来,令同一时间可以做32个阴影这就是32 x 0。所以只有真正的16条渲染通道才有可能做到32×0。
|
Pixel Shader 2.0 |
Pixel Shader 2.0a |
Pixel Shader 3.0 |
Dependant Texture Limit |
4 |
Unlimited |
Unlimited |
Texture Instruction Limit |
32 |
Unlimited |
Unlimited |
Postition Register |
NO |
NO |
YES |
Instruction Slots |
32+64 |
512 |
More Than 512 |
Executed Instructions |
32+64 |
512 |
More Than 512 |
Interpolated Registers |
2 + 8 |
2 + 8 |
10 |
Instruction Preducation |
No |
YES |
YES |
Temp REgisters |
12 |
32 |
32 |
Constant REgisters |
32 |
32 |
224 |
ArbitrarySwizzling |
NO |
YES |
YES |
Gradient Instruction |
NO |
YES |
YES |
Loop Count Register |
NO |
NO |
YES |
Face Registe |
NO |
NO |
YES |
NVIDIA出于对《DOOM3》这一类需运用大量阴影及复杂场景游戏的考虑,继续改良了他们的Ultra Shadow技术,并宣称最新的Ultra ShadowⅡ技术,比上一代提高了4倍的能力,笔者估计这应该是在Z-BUFFER上进行了更完善的处理和定义。简单的讲,Ultra Shadow是一种能够使显示芯片对在屏幕上显示不出来的场景,即被前面的景物挡住的景物,不再进行处理的技术,这样可以有效的缓解显示芯片的负载。
《DOOM3》中未开启Ultra Shadow的一个场景的物体轮廓的阴影投射线
打开Ultra Shadow后的阴影投射线
超标量着色器,也是NVIDIA技术的一项革命性突破,使每个像素渲染流水线,拥有两个着色单元。这样每个时钟周期的操作数目就可以倍增,同时还拥有完全灵活的像素分量成组操作,以及全32位浮点精度运算。拥有这种技术的GeForce 6800/Ultra比FX5950的着色能力强了一倍。另外的几项突出技术我们第三媒体都做过深入浅出的介绍,可以到NV40专题中的技术剖析中查阅。