因此,有很多次我需要知道由某些opengl操作返回的枚举是什么,以便在终端上打印它们来查看发生了什么。目前似乎没有任何函数可以对枚举进行字符串化,所以我考虑直接转到gl.h(实际上,现在我将使用libglew的头文件),获取#defines并创建一个巨大的切换表以方便使用。有没有更好的方法,以及如何处理必须移植到OpenGL ES的事情?
yruzcnhs1#
gluErrorString是您在OpenGL中寻找的函数,因为GLU库通常总是与GL一起可用。我没有OpenGL ES的经验,但谷歌发现了GLUes,可能会帮助你。
gluErrorString
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和不同平台上发生变化。
f3temu5u3#
OpenGL Registry包含OpenGL API的全面信息。值得注意的是,the gl.xml file in the XML API registry列出了所有枚举,包括它们的名称和值。从这些数据创建查找表应该足够简单。
3条答案
按热度按时间yruzcnhs1#
gluErrorString
是您在OpenGL中寻找的函数,因为GLU库通常总是与GL一起可用。我没有OpenGL ES的经验,但谷歌发现了GLUes,可能会帮助你。
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和不同平台上发生变化。
f3temu5u3#
OpenGL Registry包含OpenGL API的全面信息。值得注意的是,the gl.xml file in the XML API registry列出了所有枚举,包括它们的名称和值。从这些数据创建查找表应该足够简单。