2011-06-15 220 views
4

我有在OpenGL alpha混合一个问题...OpenGL的透明/半透明

我已经尝试了一些东西绘制透明物体......我已经通过前禁止GL_DEPTH_TEST看到一个漂亮的(理想)结果绘制透明面后再次回拉透明的面孔和重新启用GL_DEPTH_TEST ...

很显然,我已经注意到,根据我得出不同的面孔我得到了一个结果或其他的顺序...

但是我已经决定简单地在GL_DEPTH_TEST启用并且在GL_D透明面之后绘制实体面EPTH_TEST残疾人...

所以,很明显,如果我画透明面临着GL_DEPTH_TEST禁用我看到透明的面孔这是内部(例如立方体),然后

所以,我的问题是......这是正确? OpenGL是否有一种“神奇”的方式来自动排列不透明和透明的面部?

+0

看看GL_ALPHA_TEST或着色器。这应该对你有所帮助。 – 2011-06-16 12:18:44

回答

0

尽管它不是理想的结果,我通过绘制第一不透明的脸,然后透明的面孔得到了很好的结果...

4

OpenGL是否有一种“神奇”的方式来自动排列不透明和透明的面部?

不可以。您必须自己对透明对象排序。或者您可以使用与订单无关的透明度算法。有几种可用,但没有一个是“魔术”,他们中的大多数都占据了很多的表现。

+1

查看“深度剥离”作为一种这样的算法。 – 2011-06-15 05:16:37