是否有任何方法可以检查是否已启用GLSL扩展?也就是说,在当前编译单元中的代码块之前某处有#extension <extname> : enable
指令:
#extension GL_OES_standard_derivatives : enable
类似这样的东西:
#if extension_enabled( GL_OES_standard_derivatives )
// do stuff with fwidth()
#else
#error Code won't work without GL_OES_standard_derivatives!
#endif
#extension
声明的内容)包括该扩展名的#define
,如果启用了扩展名,则将其设置为1
。例如,ARB_shader_image_size扩展名是针对GLSL的,因此,如果在着色器中成功启用了该扩展名,则GL_ARB_shader_image_size
将从#define
d更改为1
。