包含此页的版本:
不含此页的版本:
可以使用 C# API 监视异步的状态着色器在 GPU 上运行的程序。更多信息
请参阅术语表编译,并在此状态更改时执行作。
这很可能在高级渲染中很有用;如果占位符着色器污染了生成的数据,您可以等到编译完成,丢弃受污染的数据,然后使用正确的着色器变体重新生成新集。
如果您已经知道您对哪种材料感兴趣,您可以使用ShaderUtil.IsPassCompiled以检查着色器变体的编译状态。当状态“未编译”更改为“已编译”时,编译完成。
如果您不知道自己对哪种材料感兴趣,或者您对不止一种材料感兴趣,您可以使用ShaderUtil.anythingCompiling以检测 Unity 是否正在异步编译任何着色器变体。当它从true自false,所有当前编译都已完成。