此函数将在运行时检查着色器,以确保已成功编译该着色器。如果有,则函数返回true,否则返回false。 游戏开始时应使用此函数,以确保运行游戏的平台已成功编译使用的任何着色器(特别是在 Windows 上,其中某些计算机可能使用 DX9 和 Shader Level 2.0,而不是使用着色器 level 3.0 的更高版本)。
如果您的着色器未被编译,并且您调用shader_set(),则游戏将崩溃,因此每当您使用除了简单的GLSL ES着色器之外的任何内容时,进行某种检查是值得的。
shader_is_compiled(shader);
参数 | 类型 | 描述 |
---|---|---|
shader | Shader Asset | 要检查的着色器。 |
global.GFX = false;
if (shader_is_compiled(sh_glass) && shader_is_compiled(sh_warp))
{
global.GFX = true;
}
上面的代码将全局变量设置为false,然后如果两个被检查的着色器都已正确编译,则将其设置为true。