1

slick util を使用して、画面の中央にロゴを表示しようとしています。

texture.bind();
glBegin(GL11.GL_QUADS);
glTexCoord2f(0, 0);
glVertex2f(x, y);
glTexCoord2f(1, 0);
glVertex2f(x + texture.getTextureWidth(), y);
glTexCoord2f(1, 1);
glVertex2f(x + texture.getTextureWidth(), y + texture.getTextureHeight());
glTexCoord2f(0, 1);
glVertex2f(x, y + texture.getTextureHeight());
glEnd();

しかし、レンダリングすると、テクスチャが中央に配置されず、ランダムな線が右側に描画されます。理由がわかりません。ありがとう。

4

1 に答える 1

1

修正済み: 画像を 2 のべき乗にします。

私はこれを保証することができます。LWJGL を使用して、作成中のゲームのすべてをレンダリングし、背景のレンダリングにも使用していますが、これは問題ありませんが、ディスプレイのフルサイズよりも小さいものをレンダリングすると、ランダムな線が表示され、画像が傾いてしまいます。これがスクリーンショットです。http://imageshack.us/f/39/problema.png/ <<<<--- 3 分の 1 ほどのところにある分割線と、左側の線を見てください。

そして、これが私のコードです。

        ImageLoader.STAT_BAR.bind();

    GL11.glBegin(GL11.GL_QUADS);
        GL11.glTexCoord2f(0,0); //TOP LEFT
        GL11.glVertex2f(0,0);
        GL11.glTexCoord2f(1,0); //TOP RIGHT
        GL11.glVertex2f(ImageLoader.STAT_BAR.getTextureWidth(),0);
        GL11.glTexCoord2f(1,1); //BOTTOM RIGHT
        GL11.glVertex2f(ImageLoader.STAT_BAR.getTextureWidth(), ImageLoader.STAT_BAR.getTextureHeight());
        GL11.glTexCoord2f(0,1); //BOTTOM LEFT
        GL11.glVertex2f(0, ImageLoader.STAT_BAR.getTextureHeight());
    GL11.glEnd();
于 2011-12-23T17:07:23.403 に答える