2011-01-19 96 views
0

應該是簡單,但它證明是一個真正的頭餅刷...渲染紋理時忽略alpha?

我有一個alpha通道的紋理。在一次渲染過程中,我想渲染紋理但忽略Alpha通道。無論我使用什麼設置,alpha小於1的像素都是而不是繪製的。

當然,任何alpha測試/拒絕/混合應該被這些命令禁用?

gl.glDisable(GL10.GL_BLEND); 
gl.glDisable(GL10.GL_ALPHA_TEST); 

我意識到我可以使用紋理的兩個版本,一個使用alpha,一個不使用。但肯定有一種方法可以忽略Alpha通道?

回答

1

對於glBlendFunc,您可能必須使用與您現在使用的glBlendFunc不同的源和目標混合模式。例如,如果你使用GL_ONE作爲源,GL_ZERO作爲目的地,那麼將不會包含alpha像素。

http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml

+0

你會這樣想,但是那樣做的結果相同。 – 2011-01-21 07:20:10