我正在制作游戏,我正在尝试绘制我们的徽标,当我绘制它时有一个黑色边框,这里有一些代码(仅用于徽标渲染)
在GuiLoading.java中绘制徽标的代码
@override
public void ex() throws IOException{
GL11.glColor3f(255, 255, 255);
drawRec(0, 0, Client.width, Client.height);
Texture logo = TextureLoader.getTexture("PNG", ResourceLoader.getResourceAsStream("misc/hslogo.png"));
logo.bind();
drawRecWithTexture(Client.width / 4 , Client.height / 4, Client.width / 4 + 400, Client.height / 4 + 356);
}
和'drawRec'和'drawRecWithTexture'空洞的代码
public void drawRecWithTexture(int i, int j, int k, int l)
{
GL11.glPushMatrix();
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2d(0, 0);
GL11.glVertex2i(i, j);
GL11.glTexCoord2d(0, 1);
GL11.glVertex2i(i, l);
GL11.glTexCoord2d(1, 1);
GL11.glVertex2i(k, l);
GL11.glTexCoord2d(1, 0);
GL11.glVertex2i(k, j);
GL11.glEnd();
GL11.glPopMatrix();
}
public void drawRec(int i, int j, int k, int l)
{
GL11.glPushMatrix();
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2i(i, j);
GL11.glVertex2i(i, l);
GL11.glVertex2i(k, l);
GL11.glVertex2i(k, j);
GL11.glEnd();
GL11.glPopMatrix();
}
和输出图像:
答案 0 :(得分:0)
确定。我知道我家里有代码。但我相信你想补充一下:
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
下面
GL11.glColor3f(255,255,255);
此外,如果您正在完全2D进行操作,请查看整个Slick库,这样可以让生活变得更轻松。
答案 1 :(得分:0)
如果我没弄错的话,因为纹理图像的尺寸不是2(32,64,128等)的强度,请尝试使用Paint.net或Gimp等软件来调整它的大小。