着色器模型 4

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

特性 功能
指令集 HLSL 函数
寄存器集 寄存器集可通过常量缓冲区和纹理缓冲区中的成员访问,这些成员使用组件打包等 HLSL 语义。
  • 像素着色器寄存器 (寄存器- ps_4_0 寄存器和寄存器- ps_4_1)
  • 顶点着色器寄存器 (寄存器- vs_4_0 寄存器和寄存器- vs_4_1)
  • 几何着色器寄存器 (寄存器 - gs_4_0 寄存器和寄存器 - gs_4_1)
顶点着色器最大值 无限制
像素着色器最大值 无限制
添加了新的着色器配置文件 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 支持新的管道阶段(几何着色器阶段)可用于创建或修改现有几何图形。 它还包括两个新的对象类型:一个流输出对象,用于从几何阶段流式传输数据,另一种是实现纹理采样函数的模板化纹理对象。

着色器模型 4 支持封装规则,这些规则规定在存储数据时可以如何紧密排列数据。 常量变量的 打包规则中介绍了这些规则

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

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