Opengl多个模型渲染相互重叠而不是正常显示

时间:2016-08-06 08:16:29

标签: android opengl-es

我正在使用opengl和eclipse来构建一个加载ply模型并呈现它的Android应用程序。但是当我尝试将两个文件一起渲染时,一个是透明的而另一个是不透明的,我得到的结果是相当不正常的。

front view

正如你所看到的那样,头发是owerlapping the face而不是简单地显示

请帮助..

1 个答案:

答案 0 :(得分:0)

对于正文,你会想要禁用混合并启用深度测试,就像你说的那样。

对于头发,你需要启用alpha混合,但仍然需要启用深度测试。否则,无论是否在身体后面都会看到所有头发。

但是,如果头发最前面的头发被渲染,那么所有头发都不会被绘制,因为深度测试现在失败了。

解决方案是启用深度测试,但禁止使用glDepthMask写入深度缓冲区。这将呈现身体前方的一切,无论顺序如何,但它背后都没有。