2011-06-15 168 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