包含此页的版本:
不含此页的版本:
要控制着色器在不同情况下的行为方式,请使用着色器在 GPU 上运行的程序。更多信息
请参阅术语表关键字。每个关键字都充当切换开关来更改着色器的行为。
您可以使用关键字执行以下作:
使用以下步骤:
if语句,根据关键字的状态分支着色器代码。声明着色器关键字或一组着色器关键字,使用#pragma陈述。以下示例定义了一组 2 个关键字,名为RED和GREEN:
#pragma shader_feature RED GREEN
有关详细信息,请参阅声明着色器关键字。
使用if语句,使着色器代码的各个部分根据关键字的状态执行。例如,使用RED和GREEN关键字来控制着色器输出的颜色:
void frag() : SV_Target {
if (RED)
{
// Output red
}
else if (GREEN)
{
// Output green
}
}
有关详细信息,请参阅使着色器行为以关键字为条件。
注意:还可以使用 HLSL 条件语句,例如if以及预处理器语句,例如#if不使用着色器关键字。
要从编辑器或运行时控制着色器,请参阅以下内容: