我对 openGL 中的 alpha 混合有疑问...
我尝试了一些绘制透明对象的方法...通过在绘制透明面之前禁用 GL_DEPTH_TEST 并在绘制透明面后再次重新启用 GL_DEPTH_TEST ,我看到了一个不错的(理想)结果...
显然我已经注意到,根据我绘制不同面孔的顺序,我得到了一个结果或另一个结果......
但是,我决定首先在启用 GL_DEPTH_TEST 的情况下绘制实体面,然后在禁用 GL_DEPTH_TEST 的情况下绘制透明面...
所以,显然如果我在禁用 GL_DEPTH_TEST 的情况下绘制透明面,我会看到内部的透明面(例如立方体),然后
所以,我的问题是......这是正确的吗? OpenGL 是否有一种“神奇”的方法来自动排序不透明和透明面?
最佳答案
Does OpenGL have a "magic" way to order the opaque and transparent faces automaticly?
没有。您必须自己对透明物体进行排序。或者您可以使用与顺序无关的透明度算法。有几种可用的,但它们都不是“神奇的”,而且大多数都占用大量性能。
关于OpenGL 透明度/半透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6352908/