字符串化openGL枚举

ibps3vxo  于 2022-11-23  发布在  其他
关注(0)|答案(3)|浏览(139)

因此,有很多次我需要知道由某些opengl操作返回的枚举是什么,以便在终端上打印它们来查看发生了什么。
目前似乎没有任何函数可以对枚举进行字符串化,所以我考虑直接转到gl.h(实际上,现在我将使用libglew的头文件),获取#defines并创建一个巨大的切换表以方便使用。
有没有更好的方法,以及如何处理必须移植到OpenGL ES的事情?

yruzcnhs

yruzcnhs1#

gluErrorString是您在OpenGL中寻找的函数,因为GLU库通常总是与GL一起可用。
我没有OpenGL ES的经验,但谷歌发现了GLUes,可能会帮助你。

64jmpszr

64jmpszr2#

OpenGL有一些官方的.spec文件来定义API,有一个enum.spec列出了所有的enum名称和它们的值。你只需要写一个简单的程序来解析文件并产生一个查找Map。
该文件位于http://www.opengl.org/registry/(具体为http://www.opengl.org/registry/api/enum.spec
手动处理gl.h也可以,但是规格文件会针对新版本进行更新,如果你有一个程序来为你生成代码,那么你就不必做任何事情来获得新的枚举。而且gl.h文件是特定于实现的。所以它可能会在nVidia、ATI和不同平台上发生变化。

f3temu5u

f3temu5u3#

OpenGL Registry包含OpenGL API的全面信息。值得注意的是,the gl.xml file in the XML API registry列出了所有枚举,包括它们的名称和值。从这些数据创建查找表应该足够简单。

相关问题