OpenGL混合(Java)

时间:2010-06-24 20:42:24

标签: java opengl colors blending

我正在编写一些Java OpenGL代码(尽管C ++ openGL中的原理是相同的)。我有一种情况,我想在某些项目之上呈现某些项目。我可以通过禁用深度测试或将其设置为GL_ALWAYS来实现这些项目,并且效果很好。问题是顶部的那些物品的颜色似乎被它下面的物品变暗了。我不确定它是否是照明问题,或者是否有混合问题,但是我试图显示该项目的颜色而不受其周围颜色的影响,无论该项目的z位置如何(因为深度测试设置为总是)。我应该使用照明设置或混合设置吗?

感谢, 杰夫

1 个答案:

答案 0 :(得分:1)

我认为在这种情况下,我会单独保留深度设置,但会根据绘图顺序调整对象的Z值(对于那些您想要根据顺序而不是正常深度绘制的项目)。

glBegin(GL_WHATEVER);
    for (int i=0; i<num_objects; i++) 
        glVertex(object[i].x, object[i].y, i/-100.0f);
glEnd(GL_WHATEVER);