shader_is_compiled

此函数将在运行时检查着色器,以确保已成功编译该着色器。如果有,则函数返回true,否则返回false。 游戏开始时应使用此函数,以确保运行游戏的平台已成功编译使用的任何着色器(特别是在 Windows 上,其中某些计算机可能使用 DX9 和 Shader Level 2.0,而不是使用着色器 level 3.0 的更高版本)。

如果您的着色器被编译,并且您调用shader_set(),则游戏将崩溃,因此每当您使用除了简单的GLSL ES着色器之外的任何内容时,进行某种检查是值得的。

 

语法:

shader_is_compiled(shader);

参数类型描述
shaderShader Asset要检查的着色器。

 

返回:

Boolean

 

例子:

global.GFX = false;
if (shader_is_compiled(sh_glass) && shader_is_compiled(sh_warp))
{
    global.GFX = true;
}

上面的代码将全局变量设置为false,然后如果两个被检查的着色器都已正确编译,则将其设置为true