我正在尝试用Java OpenGL(JOGL)制作游戏,但我的纹理有问题。 当我用纹理绘制四边形时,我唯一看到的是蓝色图像。 以下是我的代码:
Texture grass;
// public void init() in Base class that implements GLEventListener
try {
grass = TextureIO.newTexture(new File("src/com/jeroendonners/main/grass.png"), false);
} catch(Exception e) {
e.printStackTrace();
}
要使用此纹理渲染四边形,我使用以下代码:
int x = 0;
int y = 0;
gl.glColor3f(1f, 1f, 1f);
this.grass.bind(gl);
gl.glBegin(gl.GL_QUADS);
gl.glTexCoord2d(0, 0);
gl.glVertex3f(0, 0, 0);
gl.glTexCoord2d(1, 0);
gl.glVertex3f(1, 0, 0);
gl.glTexCoord2d(1, 1);
gl.glVertex3f(1, 1, 0);
gl.glTexCoord2d(0, 1);
gl.glVertex3f(0, 1, 0);
gl.glEnd();
我已阅读here我必须使用GL_BGR而不是默认的GL_RGB,但由于该问题以不同的方式初始化纹理,我不知道如何处理它。
也许是一个注释:我认为我使用的是旧版本的JOGL,1.0。那是因为我有一个关于这个版本的学校课程。