为什么我的纹理用光滑的util显示得如此奇怪?

时间:2011-12-22 06:39:41

标签: java render lwjgl slick2d

我正在尝试使用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();

但是当渲染纹理不居中时,右边会绘制一条随机线。我不知道为什么。感谢。

1 个答案:

答案 0 :(得分:1)

固定:让你的形象成为2的力量。我这样做了,它现在有效:D

我可以保证这一点。我使用LWJGL来渲染我正在制作的游戏中的所有内容,并且我使用它来渲染背景,这没关系,但是当我渲染的东西小于显示器的全尺寸时,它会显示随机线条并且图像是倾斜的。这是截图; http://imageshack.us/f/39/problema.png/<<<< ---查看左右三分之一的分割线和左侧的线。

这是我的代码;

        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();