着色器模型 4

着色器模型 4 是 着色器模型 3 中功能的超集,但着色器模型 4 不支持着色器模型 1 中的功能。 它使用通用着色器核心进行设计,该内核为所有可编程着色器提供一组通用功能,这些着色器仅使用 HLSL 进行编程。

特性 功能
指令集 HLSL 函数
注册集 可以通过常量缓冲区和纹理缓冲区中的成员访问寄存器集,这些成员使用 HLSL 语义进行组件打包等操作。
顶点着色器最大值 无限制
像素着色器最大值 无限制
添加了新的着色器配置文件 gs_4_0、ps_4_0、vs_4_0、gs_4_1*、ps_4_1*、gs_4_1*
添加了新的Effect-Framework配置文件 fx_4_0,fx_4_1*

 

* - Direct3D 10.1 或更高版本支持gs_4_1、ps_4_1、vs_4_1和fx_4_1。

着色器模型 4 支持新的管道阶段(geometry-shader 阶段),可用于创建或修改现有几何图形。 它还包括两个新的对象类型:一个流式输出对象,一个设计用于从几何阶段流式传输数据,以及一个实现纹理采样函数的模板化纹理对象。

着色器模型 4 支持打包规则,这些规则指示存储数据时数据的排列程度。 常量变量的打包规则中介绍了这些规则

着色器模型 4 程序集部分介绍着色器模型 4 和着色器模型 4.1 支持的程序集指令。

着色器模型与着色器配置文件