OpenGL函数在命名空间gl中的缺点是什么?

what would be the disadvantage for OpenGL functions in namespace gl?

本文关键字:缺点 是什么 gl 函数 命名空间 OpenGL      更新时间:2023-10-16

我目前使用glLoadGen来加载OpenGL函数,

有一个选项,如将所有函数指针放在namespace gl这样我就可以使用gl::CreateShader( ... )

这个功能的缺点是什么?

它不会用那些gl**函数或宏污染全局命名空间;但恐怕有一些潜在的缺点……

您很可能不想这样做,因为它们将不再遵循通用的C语言绑定命名约定。通过将GL_添加到常量的开头,将gl添加到函数的开头,整个命名空间问题已经以一种与语言无关的方式解决了。

在这里你可以自由地做任何你想做的事情,但是像C或c++这样的语言中的全局命名空间已经被你链接到的底层库污染了。例如,在Windows上,GL 1.1中的所有函数都与标准的C语言名称绑定在一起。这是一组大约400个函数,你可以通过包括平台的OpenGL头来获得。