我想實現下面的混合:平滑的色彩混合
這是我目前有:
我已經啓用混合和我指定的混合功能:
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
我可以看到紙應用程序中繪製的圖像由一個小圓圈組成,該小圓圈在前後具有相同的紋理並對顏色和阿爾法具有一些混合效果。
我該如何達到預期效果?
UPDATE:
我想的情況是,兩個紋理的相交區域越來越alpha通道要被修改(無論添加劑或其他自定義功能),而紋理不被繪製在相交區域。該區域的其餘部分繪製了其餘的紋理。像這樣:
我並不完全確定如何實現這一結果,雖然。
嗯 - 我不認爲我完全理解解決方案:(假設我要創建。 iOS應用,以支持OpenGL ES 1.1,我不得不堅持模板緩衝,因爲我沒有獲得GLSL。 其次,我想要做的是避免顯示爲重疊的邊緣,但相反,如果你畫的話,它會表現得像一個平滑的中風,如何繪製全屏四邊形的紋理來解決這個問題? – kajham 2012-07-18 00:17:27
它似乎是兩個紋理的交集具有已添加到相交區域中的像素數據的加法或平均值,但在相交區域上沒有繪製紋理。相反,剩餘的紋理繪製在不相交的區域。 – kajham 2012-07-18 01:12:20
@kajham:模板緩衝區的目的是在希望紋理化的整個區域上創建一個遮罩。當您使用模板緩衝區時,每次繪製一個形狀時,其覆蓋的每個像素都將在模板緩衝區中進行標記。然後,一旦你繪製了所有的圓圈,模板緩衝區將包含所有圓圈交集的輪廓。然後,您可以使用此輪廓來遮罩包含紋理的全屏四邊形。繪製完這個四邊形後,只會繪製模板覆蓋的區域。 – Tim 2012-07-18 04:13:20