簡體   English   中英

OpenGL ES 2.0僅在不同對象上混合

[英]OpenGL ES 2.0 blending only on different objects

我想知道是否有一種方法可以混合僅在不同繪制調用中的對象。

我有一個粒子系統,它可以將許多點彼此靠近繪制,並且我不想添加它們的顏色值。 但是,我確實想將這些粒子與來自其他粒子系統繪制調用的其他粒子相加。 我知道我可以使用幀緩沖區對象來實現此目的,但它似乎並不高效。

不可能直接通過混合; GL在任何時間點具有的唯一狀態是當前片段以及幀緩沖區的內容。

您可以想象使用一個模板遮罩(在繪制開始時清除模板,將粒子系統中的每個三角形將模板設置為1,如果模板測試值已經為1,則失敗)。 但是,大多數粒子需要一定程度的Alpha透明度才能使邊緣的每個粒子淡出,因此這可能並不是您真正想要的...

實際上,由於需要一個粒子的“淡入淡出”區域與它后面的粒子的“明亮”部分重疊,因此我不確定是否可以在不將粒子系統中所有粒子混合在一起的情況下完成這項工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM