2

当我尝试渲染下面的颜色条四边形时,谁能提供一些线索 在此处输入图像描述

它看起来像这样: 在此处输入图像描述

这是我的渲染代码:

    gl.glEnable(GL.GL_BLEND);
    gl.glBlendFunc(GL.GL_ONE, GL.GL_ZERO);
    gl.glBlendEquation(GL.GL_FUNC_ADD);

    gl.glEnable(GL.GL_ALPHA_TEST);
    gl.glAlphaFunc(GL.GL_GREATER, 0.01f);

    // do the drawing...

    gl.glDisable(GL.GL_TEXTURE_2D);

    gl.glDisable(GL.GL_ALPHA_TEST);

我确定解决方案很简单,我只是在胡思乱想,但这只是那些日子之一!谢谢您的帮助!

4

2 回答 2

0

你想进行什么样的混合?要简单地绘制没有任何颜色混合或 alpha 通道的东西,您甚至不必玩弄GL_BLENDor GL_ALPHA_TEST(将两者都禁用)。GL_BLEND用于定义如何添加不同的颜色“层”(通常是关于如何应用 alpha 通道),同时GL_ALPHA_TEST决定要尊重/忽略哪些 alpha 值。在渲染四边形时还要检查您的顶点颜色(尝试渲染没有纹理的单色四边形,例如使用洋红色)。

但是,看着您的图像,我猜您以某种方式禁用了对红色通道(glColorMask())的绘图-尽管有黄色,这使我感到困惑。

于 2011-05-18T10:53:14.340 回答
0

当我导入 PNG 文件时,RGBA 出现交换问题。

于 2011-05-25T08:13:38.620 回答