着色器精度模型选项。
此枚举允许您更改两项内容:默认采样器精度和half
的定义。
默认采样器精度仅与未显式声明精度的采样器相关。例如,sampler2D
使用默认精度,但sampler2D_float
无论默认精度如何,都使用全精度。
关于着色器类型half
,它被定义为float
或min16float
(请参阅SL-DataTypesAndPrecision)。为了将数据上传到缓冲区(包括常量缓冲区),在这两种情况下的大小和对齐方式都是 4 字节。
PlatformDefault | 使用目标平台默认值。默认采样器精度在移动目标上为半精度,而在其他地方为全精度。此外,着色器类型 half 在移动目标上被定义为 min16float,而在其他地方被定义为 float。 |
Unified | 默认情况下使用全采样器精度,并在需要使用更低精度时显式声明。有关详细信息,请参阅 SL-DataTypesAndPrecision。此外,half 在所有平台上都被定义为 min16float。这在 Unity 编译着色器时设置 BuiltinShaderDefine.UNITY_UNIFIED_SHADER_PRECISION_MODEL。 |