【发布时间】:2011-10-03 03:16:08
【问题描述】:
我正在尝试学习 JOGL 绑定。这些教程似乎已经过时了,所以我总是试图拼凑出每个教程的有效内容。
我在尝试将简单纹理应用于方形平面时遇到问题。
我有一个名为 box.png 的 204 X 204 图像。
在我的 init() 中,我执行以下操作来加载纹理:
try {
InputStream stream = getClass().getResourceAsStream("box.png");
TextureData data = TextureIO.newTextureData(gl.getGLProfile(),
stream, 100, 200, false, "png");
boxTexture = TextureIO.newTexture(data);
} catch (IOException exc) {
exc.printStackTrace();
System.exit(1);
}
然后我尝试在 display() 中应用我的纹理:
gl.glEnable(GL.GL_TEXTURE_2D);
boxTexture.enable(gl);
boxTexture.bind(gl);
gl.glBegin(GL2.GL_QUADS);
// Front Face
gl.glTexCoord2f(0.0f, 0.0f);
gl.glVertex3f(-1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad
gl.glTexCoord2f(1.0f, 0.0f);
gl.glVertex3f(1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad
gl.glTexCoord2f(1.0f, 1.0f);
gl.glVertex3f(1.0f, 1.0f, 1.0f); // Top Right Of The Texture and Quad
gl.glTexCoord2f(0.0f, 1.0f);
gl.glVertex3f(-1.0f, 1.0f, 1.0f);
gl.glEnd();
是否有任何明显的问题可以解释我失败的原因?
【问题讨论】:
标签: opengl 3d textures jogl bufferedimage