JOGL:某些GL常量无法解析

时间:2011-06-29 20:48:08

标签: image textures jogl

我写了一个包含JOGL的java程序。 一切都很好,直到我想用纹理渲染图像(jpg,gif,png)。 我找到了以下代码片段:

import javax.media.opengl.*;
...
GL2 gl = drawable.getGL().getGL2();

gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_CLAMP);
gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_CLAMP);
gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR);
gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR);
gl.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
gl.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGBA, w, h, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, bb);

int left = 100;
int top = 100;
gl.glEnable(GL.GL_TEXTURE_2D);
gl.glBindTexture(GL.GL_TEXTURE_2D, 13);
gl.glBegin(GL.GL_POLYGON);
...

问题是Eclipse无法解析GL.GL_CLAMPGL.GL_TEXTURE_ENVGL.GL_TEXTURE_ENV_MODEGL.GL_POLYGON。 作为GL.GL_CLAMP的替代方案,只有GL.GL_CLAMP_TO_EDGE。 我甚至找不到GL.GL_QUAD,只是GL.GL_TRIANGLE。 怎么了? 我错过了进口吗? 其他GL常数可以解决。

的问候, 彼得

1 个答案:

答案 0 :(得分:2)

jogl2中的正确方法是GL2.GL_CLAMP(不是GL.GL_CLAMP)。