2011-05-18 40 views
2

任何人都可以提供一些線索,爲什麼當我嘗試呈現以下 enter image description here問題與OpenGL中(彩條的例子)混合

彩條四看起來是這樣的: enter image description here

這裏我的渲染代碼:

gl.glEnable(GL.GL_BLEND); 
    gl.glBlendFunc(GL.GL_ONE, GL.GL_ZERO); 
    gl.glBlendEquation(GL.GL_FUNC_ADD); 

    gl.glEnable(GL.GL_ALPHA_TEST); 
    gl.glAlphaFunc(GL.GL_GREATER, 0.01f); 

    // do the drawing... 

    gl.glDisable(GL.GL_TEXTURE_2D); 

    gl.glDisable(GL.GL_ALPHA_TEST); 

我敢肯定,解決方案很簡單,我只是有一個brainfart,但它只是那些日子之一! 感謝您的幫助!

+0

寫這篇文章作爲自己的答案,並接受它,這是爲紀念自己的方式找到解決方案的SO – datenwolf 2011-05-18 12:38:55

回答

0

有與我導入PNG文件RGBA越來越交換圍繞一個問題。

0

什麼樣的混合的,你想執行?爲了簡單地劃,無任何顏色混合或Alpha通道東西,你甚至不必用GL_BLENDGL_ALPHA_TEST周圍玩(請將這兩個禁用)。 GL_BLEND用於定義如何添加顏色的不同的「層」(通常,關於如何應用alpha通道),而GL_ALPHA_TEST決定的alpha值尊重/忽略。渲染四邊形時還要檢查頂點顏色(嘗試呈現沒有紋理的單色四邊形,例如使用洋紅色)。

然而,看着你的圖片我猜你不知道如何禁用繪圖到你的紅色通道(glColorMask()) - 雖然有黃色,這讓我感到困惑。

+0

既然你主要是在問問題,我不認爲你應該張貼此作爲一個答案。但回到話題上:藍色條也消失了,這似乎很奇怪。 – ltjax 2011-05-18 10:57:28

+0

對不起。我發現了這個錯誤,這與混合沒有任何關係。當我導入PNG出於某種奇怪的原因時,RGBA值被搞亂了。 – 2011-05-18 11:11:27