OpenGL透明/半透明

问题描述

| 我对openGL中的Alpha混合有疑问... 我已经尝试了一些用于绘制透明对象的东西...通过在绘制透明面之前禁用GL_DEPTH_TEST并在绘制透明面之后重新启用GL_DEPTH_TEST,我看到了一个不错的(理想)结果... 显然,我已经注意到,根据我绘制不同面孔的顺序,我会得到结果或其他结果。 但是,我已经决定先在启用GL_DEPTH_TEST的情况下绘制立体面,然后在禁用GL_DEPTH_TEST的透明面后进行绘制... 因此,很明显,如果我在禁用GL_DEPTH_TEST的情况下绘制透明面,我会看到里面的透明面(例如一个立方体),然后 所以,我的问题是...这是正确的吗? OpenGL是否具有“魔术”方式来自动排序不透明和透明的面?     

解决方法

           OpenGL是否具有“魔术”方式来自动排序不透明和透明的面? 不可以。您必须自己对透明对象进行排序。或者,您可以使用与顺序无关的透明度算法。有几种可用的方法,但是它们都不是“魔术师”,并且大多数都占用了大量的性能。     ,        尽管这不是理想的结果,但我先绘制了不透明的面,然后再绘制透明的面,从而获得了不错的效果。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...