LWJGL +光滑纹理无法加载

时间:2012-06-28 22:37:48

标签: java opengl lwjgl

我无法使用带有LWJGL和光滑的TextureLoader类加载任何纹理以与OpenGL一起使用。这是我的代码:

try {
        sprite = TextureLoader.getTexture("PNG", new FileInputStream("sprite.png"));
    }catch(Exception e) {}

    if(sprite == null) {
        System.out.println("Sprite is null");
    }else {sprite.bind();}

    glBegin(GL_QUADS);
    glTexCoord3f(0, 1, 0);
    glVertex3f(0, 1, 0);
    glTexCoord3f(1, 1, 0);
    glVertex3f(1, 1, 0);
    glTexCoord3f(1, 0, 0);
    glVertex3f(1, 0, 0);
    glTexCoord3f(0, 0, 0);
    glVertex3f(0, 0, 0);
    glEnd();

我知道图片在我班级的同一个目录中,我不相信我的OpenGL代码有任何问题,因为我已经能够成功地绘制四边形/立方体。

1 个答案:

答案 0 :(得分:1)

我不知道为什么,但在使用lwjgl纹理时,你必须在3d quad的顶部创建一个2d纹理图像[如此:]

        glBegin(GL_QUADS);

        glTexCoord2d(0, 0);
        glVertex3d(0, 0, 0);
        glTexCoord2d(1, 0);
        glVertex3d(32, 0, 0);
        glTexCoord2d(1, 1);
        glVertex3d(32, 32, 0);
        glTexCoord2d(0, 1);
        glVertex3d(0, 32, 0);

        glEnd();