1

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

谢谢,杰夫

4

1 回答 1

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);
于 2010-06-25T04:15:39.053 回答