在Shader中可以通过定义宏,来实现shader 代码不同编译,从而实现不同表现
比如我在shader中加入#pragma multi_compile A
下面代码:
#if defined (A)
...
#endif
则在项目中有宏定义A的时候执行里面的代码。
那么shader中的宏定义应该在哪里声明呢?
可以在获取到对应Material 之后通过API :mat.EnableKeyword("A")和mat.DisableKeyword("A")对宏A进行定义和移除