2011-08-11 77 views
4

我想在openGL-es 2.0中繪製一個半透明(比如alpha = 0.5)多邊形。怎麼做?。幾件事我嘗試了。 1.我在片段着色器中使gl_Fragcolor.w = 0.5。 2.禁用深度相關的東西。如何在OpenGL-ES 2.0中繪製透明多邊形?

我不知道如何在openGL-es 2.0中啓用混合。我在某處自動執行它。是這樣嗎?。任何小幫助表示讚賞。

+0

我給了一個透明的顏色,而不是改變阿爾法。它工作正常.GlBlend在Es-2.0中沒有被取消。當你有透明OPenGL圖層時,我們看到繪圖或者出現(alpha> 0)或者消失(alpha = 0)。當視圖不透明時,我們可以完美地看到混合。 – Vignesh

回答

9

您必須啓用alpha混合。對於如何做到這一點的常見問題:http://www.opengl.org/resources/faq/technical/transparency.htm。爲了使您想要的效果:

glEnable (GL_BLEND); 
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

注意,啓用alpha混合會有所影響性能 - 因此,只有做到這一點就必須具有alpha混合啓用了三角形。

+0

感謝您的回答。讓我知道你對我在這個問題中添加的評論有什麼看法? – Vignesh