检查是否已启用GLSL扩展?

问题描述 投票:0回答:1

是否有任何方法可以检查是否已启用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
opengl-es glsl preprocessor
1个回答
1
投票
每个具有GLSL语言副本的OpenGL扩展名(即:可以放入#extension声明的内容)包括该扩展名的#define,如果启用了扩展名,则将其设置为1 。例如,ARB_shader_image_size扩展名是针对GLSL的,因此,如果在着色器中成功启用了该扩展名,则GL_ARB_shader_image_size将从#define d更改为1
© www.soinside.com 2019 - 2024. All rights reserved.