gpt4 book ai didi

c++ - 有条件地使用 OpenGL 扩展

转载 作者:太空狗 更新时间:2023-10-29 21:04:16 25 4
gpt4 key购买 nike

我对如何使用 OpenGL 扩展(特别是 VBO 和 draw_texture)有点困惑。我知道您可以在 GL_EXTENSIONS 字符串中检查它们,但是然后呢?如果扩展可用,我可以只根据需要调用相关函数,还是必须加载它们,例如使用 GLEW?如果它们不可用,只要我不调用它们,在我的代码中使用这些函数是否可以,或者如果扩展不可用,是否会在运行时链接器中导致 Unresolved 符号错误?

它在多个平台上是否相同,即 Linux、Windows、Android( native )、Mac 和 iOS?

最佳答案

If the extensions are available can I just call the relevant functions as needed

没有。

or do I have to load them eg using GLEW?

是的。您也可以手动完成。

And if they aren't available is it OK to have those functions in my code as long as I don't call them,

是的。

or will that cause unresolved symbol errors in the run-time linker in case the extensions aren't available?

由于扩展是在运行时动态加载的,可执行链接器不关心它们。它所看到的只是一些名为 __glew_gl… 或类似名称的变量,这些变量在 header 中重新定义为 gl… 并且链接器不关心它们具有什么值。

如果不可用,扩展加载器可以将它们设置为空指针,或者设置为发出警告消息、错误条件或类似信息的 stub 函数。

如果扩展可用,则扩展加载器将这些函数指针变量设置为指向实际函数。

关于c++ - 有条件地使用 OpenGL 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11592493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com