Lwjgl正在改变我的纹理颜色?

时间:2016-08-04 18:09:44

标签: java textures lwjgl game-engine

我正在尝试显示窗口的纹理(在3d中) 这是我的代码

try {
        texture = TextureLoader.getTexture("PNG", new FileInputStream(new File("res\\window.png")));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    texture.bind();
    GL11.glBegin(GL11.GL_QUADS);
    GL11.glTexCoord2f(0, 0);
    GL11.glVertex3f(0, 0, 0);
    GL11.glTexCoord2f(1, 0);
    GL11.glVertex3f(10, 0, 0);
    GL11.glTexCoord2f(1, 1);
    GL11.glVertex3f(10, 10, 0);
    GL11.glTexCoord2f(0, 1);
    GL11.glVertex3f(0, 10, 0);
    GL11.glEnd();
    GL11.glDisable(GL11.GL_TEXTURE_2D);

这是真实的形象:

window.png

现在问题出现了:lwjgl或者做过什么,完全改变了纹理的颜色? 这就是图像的显示方式:

displayed.png

没有错误,没有任何错误。

1 个答案:

答案 0 :(得分:0)

您设置的颜色与图像的颜色相乘。在绘制图像之前将颜色设置为白色:

GL11.glColor3f(1.0, 1.0, 1.0);