[英]Point Sprite Alpha Blending
我正在開發適用於Android的繪畫應用程序,該應用程序允許用戶使用手指進行繪制。 它是使用OpenGL ES 2.0,點精靈技術以及用於快速渲染的FBO構建的。 我在將單個點精靈混合在一起時遇到問題,這些地方透明的區域正確地在FBO上渲染,但是當精靈重疊時,我可以看到在先前的精靈上渲染了透明區域。 當前的外觀如下:
這是這個混合方程式:
GLES20.glBlendFunc(GLES20.GL_ONE, GLES20.GL_ONE_MINUS_SRC_ALPHA);
如果我將繪圖顏色更改為白色或黑色,則效果很好:
我也嘗試過此混合功能:
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_DST_ALPHA);
結果是:
這幾乎是完美的選擇,但改為白色時,主色應變暗。 關於實現此目標的正確混合功能有什么想法?
注意:我對混合功能的工作方式有所了解,方法是將源和目標顏色的一部分取整,然后將它們加在一起,這樣顏色就趨於白色是有意義的。 所以我想知道我想實現的目標是僅使用混合功能還是需要其他功能? 如有必要,我可以從片段着色器提供代碼,但對我來說,這看起來好像不是片段問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.