我想根据Unity中检查器的属性完全跳过着色器的传递,例如:(请记住这不会编译)
Shader "Name"
{
Properties
{
[Toggle(STUFF_ON)] _StuffOn("Stuff On", Float) = 1
}
SubShader
{
#if STUFF_ON
Pass
{
[...]
}
#endif
Pass
{
[...]
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经在寻找 Toggles(如示例中所示)、pragma shader_feature 和 multi_compile,但所有这些都只允许我在 pass内部使用指令。