使用GLAD Web服务时,可以选择任何版本的OpenGL及其所需的扩展名。

如果选择最新版本的OpenGL和“所有扩展名”,该头文件将由我机器上实际上没有的Web Service #define扩展名,或者它只是定义了存在的扩展名?如果我使用的计算机上不可用?

我看不到如何选择性地定义扩展名,因为脚本是在服务器上提前生成的,但是我想确保自己没有尝试使用不受支持的扩展名。

#1 楼

在此github问题中,GLAD作者提供了以下方法来正确检查运行时是否存在扩展:


定义仅允许您在编译时检查哪些扩展
(和opengl版本)可能可用。
加载/初始化后很高兴,您可以使用GLAD_
检查扩展名是否在运行时可用(=驱动程序支持
并已加载)。

/>

评论


$ \ begingroup $
您应该接受答案:)
$ \ endgroup $
–广告N
19年8月29日在8:22

#2 楼

“所有”扩展名选项的确切含义是:所有扩展名。如果存在,则在生成的标头中。但这并不意味着代码将无法在未提供所有扩展的实现上执行。您选择的扩展名只是生成的文件可供您使用的扩展名。标头。如果要选择所有内容,则不妨使用GLEW。

评论


$ \ begingroup $
因此,不包括所有扩展名的唯一原因是,您有一个由glad生成的较小的头文件?
$ \ endgroup $
– Startec
17年11月9日在9:04

$ \ begingroup $
@Startec:这不仅仅是一个较小的标题。这意味着您不会意外使用不需要的扩展名。这也意味着您将获得更好的IntelliSense,因为您只会看到想要使用的功能和枚举。
$ \ endgroup $
–尼科尔·波拉斯(Nicol Bolas)
17年11月9日在14:25