OpenGL方法编号值

时间:2014-01-31 17:14:49

标签: javascript opengl methods lwjgl

我见过这样编写的OpenGL代码:

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(1,1,1,1,1,-1);
glMatrixMode(GL_MODELVIEW);

我看过这样编写的OpenGL代码:

glEnable(2896);
glDisable(3042);

注意glEnable()glDisable()方法中的数字值。

我真正的问题是:是否有人链接到一个网站,其中包含每个方法的列表或哪个数字值对应于您在代码中放置的模式?比如,glEnable(2896);实际意味着什么?

2 个答案:

答案 0 :(得分:3)

枚举名称和值位于gl.xml之外,位于主spec registry page之外。

给出glEnable(2896)的例子:

    十六进制中的
  1. 28960x0B50
  2. 在gl.xml中搜索该值可以登陆

    <enum value="0x0B50" name="GL_LIGHTING"/>

  3. 您可以看到的内容与GL_LIGHTING

  4. 相对应

答案 1 :(得分:2)

数字是OpenGL规范定义的OpenGL令牌的数值。您可以在http://www.opengl.org/registry/

找到各种OpenGL版本的规范

令牌的定义以GL/gl.h头文件中的C或C ++编译器可用的形式写下。

然而,强烈建议不要使用数值,因为在代码中它们只是幻数。

  

喜欢,glEnable是什么(2896);实际上是什么意思?

只需在GL/gl.h中搜索为此值定义的令牌。它们通常以十六进制编写,因此您必须首先转换该十进制表示。像这样(使用* nix样式的shell):

dw ~ % grep $(printf '%X' 2896) /usr/include/GL/gl.h
#define GL_LIGHTING                             0x0B50