我正在使用opengl和eclipse来构建一个加载ply模型并呈现它的Android应用程序。但是当我尝试将两个文件一起渲染时,一个是透明的而另一个是不透明的,我得到的结果是相当不正常的。
正如你所看到的那样,头发是owerlapping the face而不是简单地显示
请帮助..
答案 0 :(得分:0)
对于正文,你会想要禁用混合并启用深度测试,就像你说的那样。
对于头发,你需要启用alpha混合,但仍然需要启用深度测试。否则,无论是否在身体后面都会看到所有头发。
但是,如果头发最前面的头发被渲染,那么所有头发都不会被绘制,因为深度测试现在失败了。
解决方案是启用深度测试,但禁止使用glDepthMask
写入深度缓冲区。这将呈现身体前方的一切,无论顺序如何,但它背后都没有。