[英]LWJGL Transparency
我正在尝试通过以下命令使用LWJGL透明度:
// Enable transparency
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
透明的原理是这样的:
// Draw Background
glColor4f(1f, 1f, 1f, 1f);
glPushMatrix();
glBegin(GL_QUADS);
glVertex2f(0, 0);
glVertex2f(width, 0);
glVertex2f(width, height);
glVertex2f(0, height);
glEnd();
glPopMatrix();
不显示。 我正在使用LWJGL 2.8.2,Eclipse Indigo,任何帮助将不胜感激!
我不确定这是否是最好的解决方案,但是获取透明和非透明内容的一种方法是在绘制之前停用/激活GL_BLEND,如下所示:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
drawTransparentContent();
glDisable(GL_BLEND);
drawNonTransparentContent();
这为我解决了。
渲染透明物体时,必须以从前到后的顺序渲染所有物体。 因此,请确保先渲染背景。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.