【发布时间】:2014-03-03 17:08:34
【问题描述】:
我目前正在制作一种在 Java 游戏中绘制简单矩形的方法。当我简单地使用此代码时它工作正常:
glPushMatrix();
glColor4f(red,green,blue,alpha);
glBegin(GL_QUADS);
{
glVertex2f(x, y);
glVertex2f(x, y+y1);
glVertex2f(x+x1, y+y1);
glVertex2f(x+x1, y);
}
glEnd();
glPopMatrix();
但是当我尝试启用 GL_BLEND 以获得透明度时,
glPushMatrix();
glEnable(GL11.GL_BLEND);
glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
glColor4f(red,green,blue,alpha);
glBegin(GL_QUADS);
{
glVertex2f(x, y);
glVertex2f(x, y+y1);
glVertex2f(x+x1, y+y1);
glVertex2f(x+x1, y);
}
glEnd();
glDisable(GL_BLEND);
glPopMatrix();
矩形不绘制。
【问题讨论】:
-
alpha的值是多少?0.5? -
你没有事先处理过 glAlphaFunc 吗?