§7.0概览
使用shader最大的好处是每一步的渲染管道都可自定义。支持Pixel Shader版本1.1 (GeForce 3 )你有8条指令可用,支持Pixel Shader 2.0更灵活且允许实现更多的功能(在上一章的normalize和pow方法只适用于Pixel Shader 2.0)和更多的指令(最多96个,但一些方法需要一个以上的指令) 。
Pixel shader 3.0允许更好的流控制,这意味着您可以更好地优化性能。Pixel Shader 3.0最多可以有512条指令。就算你有16、24或32个像素shader并行处理器,当绘制上百万个像素时,仍要花很多时间来为每个像素执行许多指令,新的NVIDIA 8800 GTX的图形卡甚至有128个shader处理器。有时候当一个像素不受灯光影响或不在阴影里,你可以跳过复杂的计算,通过这种形式,您仍然可以实现漂亮的Pixel Shader的效果,但在现实中最新的游戏只需支持Pixel Shader 2.0,因为它是支持许多图形卡;最典型的游戏不支持较昂贵的图形硬件。 Shader Model 4.0与Direct3D 10(2006年初)一同推出,第一个支持它的图形硬件是2006年年底发布的GeForce 8800,但Direct3D的10只适用于Vista而且硬件相当昂贵。游戏开发商可以充分利用Shader Model 4.0还需要一段时间。xna目前仅支持1.1至3.0版本的Shader模型。
Shader Model 4.0允许更多的指令,并提出了几何shader(可以在顶点和像素shader执行前添加几何数据)。在Shader Model 4.0所有的Shader流处理器被统一在一起,这意味着有不再是8个顶点处理器和16个像素处理器,而是统一128 个shader处理器通用于几何,顶点和像素shader,这对如位移映射之类的effect很有用。在2007年,您可以期望一些很酷的演示,可能直到2008年或稍后才会使用几何shader。
发布时间:2008/9/11 下午4:14:46 阅读次数:5912