我使用等于z的OpenGL渲染两个四边形。当我启用DEPTH时,我会得到以下图像,但是当它关闭时,我得到的是我需要一个水果而不是另一个水果。是否有可能像我想要的那样绘制具有相等z的四边形?我的OGL设置:
glEnable(GL_BLEND); glEnable(GL_ALPHA_TEST); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
编辑抱歉,我忘了提到我最先调用渲染的最左边四边形,我使用正交
编辑+1 当我使用不同的Z渲染四边形时,我得到相同的图像,如何解决?
答案 0 :(得分:4)
z缓冲区不关心透明度,因此您必须按照近似深度对四边形的绘制顺序进行排序。
我会将它们的深度更改为不同(您可以使用正交投影使它们看起来大小相同)然后再绘制另外的四边形。
此外,由于z-fighting,即使没有透明度也不能在同一深度绘制两个多边形。
答案 1 :(得分:0)
我试验并看到我在渲染立方体时遇到同样的问题,所以问题是由于顶点排序,可能是背面剔除参数。