我很难解决这个问题,似乎无法渲染。
如何解决这个问题?我希望OpenGL像在下面这张图片的右侧一样呈现它:
最佳答案
您需要在禁用深度测试并使用顺序无关的混合公式的同时渲染平面。
如果背面有一些不透明的几何图形,请绘制这些几何图形,将深度缓冲区设置为只读而不是禁用深度测试,然后渲染透明的几何图形。
还有一些高级技术可以解决该常见问题,例如深度剥离。
编辑
您可以使用glDepthMask(GL_FALSE)将深度缓冲区设置为只读。
这是一篇很好的文章,解释了为什么无法实现完美的透明度:Transparency Sorting。还可以看一下Order Independent Transparency with Dual Depth Peeling文章,该文章涵盖了用于具有精确(或近似)顺序独立透明性的两种方法(一种非常简单,单遍)。
我忘了提及Alpha to Coverage。
关于opengl - OpenGL:渲染两个相交的透明平面:不可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127242/