Pixel Shader功能
|
Shader 2.0
|
Shader 3.0
|
描述
|
Shader长度 | 96 | 65535+ | 允许采用更复杂的阴影、光线和程序 |
动态分支 | 不支持 | 支持 | 通过跳过无关像素上的复杂着色以提高性能 |
Shader抗锯齿 | 不支持 | 内置派生指令 | 开发人员能够计算屏幕空间以调整着色频率或者进行多重采样处理,以降低画面失真 |
背面寄存器 | 不支持 | 支持 | 允许在一次处理工序中处理双面材质的光源 |
内插值色彩格式 | 最低8-bit整数 | 最低32-bit浮点 | 更高的颜色范围和色彩精度,允许采用顶点级别的高动态范围光源 |
多重渲染目标 |
可选
| 4个 | 允许高级光源算法,以节省过滤和顶点操作。能够以最低成本实现更多的光源处理 |
雾和镜面效果 | 固定8-bit功能 | 可自定义的fp16-fp32 shader程序 | Shader Model 3.0让开发人员能够完全、精确的控制雾和镜面反射效果。在Shader Model 2.0中,这些效果都是固定的。 |
材质坐标数量 | 8 | 10 | 更多的per-pixel输入允许更逼真的渲染,尤其适合渲染皮肤。 |
Vertex shader 功能
|
Shader 2.0
|
Shader 3.0
|
描述
|
Shader长度 | 256指令 | 65535指令 | 更多的指令允许更为细致的角色光源和动画处理 |
动态分支 | 不支持 | 支持 | 通过跳过无关像素上的复杂着色以提高性能 |
顶点材质 | 不支持 | 对多达4个的材质进行查找 | 允许置换贴图和粒子特效 |
支持实例 | 不支持 | 必须 | 允许使用一条指令绘制各种物体 |