OpenGL透明度/半透明度

时间:2011-06-15 04:12:21

标签: opengl alphablending

我在openGL中有一个alpha混合的问题......

我尝试了一些用于绘制透明对象的东西......在绘制透明面之前禁用GL_DEPTH_TEST并在绘制透明面后再次重新启用GL_DEPTH_TEST时,我看到了一个很好的(理想)结果... < / p>

显然我注意到,根据我绘制不同面孔的顺序,我得到了结果或其他...

然而,我决定在启用GL_DEPTH_TEST之后首先绘制实体面,并且在GL_DEPTH_TEST禁用的透明面之后...

所以,很明显,如果我在GL_DEPTH_TEST被禁用的情况下绘制透明面,我会看到里面的透明面(例如立方体),然后

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

2 个答案:

答案 0 :(得分:4)

  

OpenGL是否有“神奇”的方式自动订购不透明和透明的面孔?

没有。您必须自己对透明对象进行排序或者您可以使用与订单无关的透明度算法。有几个可用,但没有一个是“神奇的”,大多数都占据了很多性能。

答案 1 :(得分:0)

尽管不是理想的结果,我通过绘制第一个不透明的面孔然后绘制透明面来获得不错的效果......

相关问题