[英]Are Vertex Array Objects supported in Android OpenGL ES 2.0 using extensions?
[英]Using OpenGL extensions conditionally
我对如何使用OpenGL扩展(特别是VBO和draw_texture)感到有点困惑。 我知道你可以在GL_EXTENSIONS字符串中检查它们,但接着是什么? 如果扩展可用,我可以根据需要调用相关功能,还是必须加载它们,例如使用GLEW? 如果它们不可用,只要我不调用它们就可以在我的代码中使用这些函数,或者如果扩展不可用,它会在运行时链接器中导致未解决的符号错误吗?
在多个平台上是一样的,即Linux,Windows,Android(原生),Mac和iOS?
如果扩展可用,我可以根据需要调用相关功能
没有。
或者我必须加载它们,例如使用GLEW?
是。 你也可以手动完成。
如果它们不可用,只要我不调用它们就可以在我的代码中使用这些函数,
是。
或者,如果扩展名不可用,是否会导致运行时链接器中出现未解决的符号错误?
由于扩展是在运行时动态加载的,因此可执行链接器不关心它们。 所有它看到的是一些名为__glew_gl…
或类似的变量,它们在标题中被重新定义为gl…
并且链接器不关心它们具有什么值。
扩展加载器可以将它们设置为空指针(如果不可用),或者设置为发出警告消息,错误条件等的存根函数。
如果扩展可用,则扩展加载程序将这些函数指针变量设置为指向实际函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.