繁体   English   中英

LWJGL透明度

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM