所以我遇到了关于场景图和半透明对象的以下问题......我的问题是我想在一个场景中渲染多个半透明对象。我知道我必须先渲染不透明的物体,然后从后到前渲染半透明的物体。这运作良好......或多或少......
但真正的问题是,例如,我有一个半透明的立方体,白色(或任何其他颜色),alpha 值例如为 0.5。立方体的内部结构在波前 obj 文件中给出,因此给出了立方体单平面的顺序。我不订购对象的单个平面,因为在具有 >1000 个对象和每个对象的 >1000 个顶点的场景中这将太多,所以我只订购整个对象。如果我渲染对象的单个平面并四处移动,就会有这样一个时刻,一个比另一个更近的平面在另一个平面之前被渲染。然后第二个没有被渲染,因为深度缓冲区不允许这样做,这是渲染中的错误。
关闭深度缓冲区不是解决方案:我需要它,因为可能存在半透明和不透明的复杂对象。
任何提示我如何才能实现对象,即使它们很复杂并且既不透明又半透明,以正确的方式呈现?