簡體   English   中英

累積Alpha混合

[英]Cumulative alpha blending

有誰知道glBlendFunc使用什么設置來實現累積混合?

例如:

  1. 50%alpha + 50%alpha = 50%alpha
  2. 50%alpha + 40%alpha = 50%alpha
  3. 50%alpha + 60%alpha = 60%alpha

我正在嘗試做的是渲染多個形狀,所有形狀相同的顏色,但具有不同的alpha值。 一些形狀會重疊。 我希望每個結果像素都等於用最大的alpha值渲染一次。

我需要使用香草GL10,因此沒有最小/最大方程式可用。

我正在研究幾種可行的替代解決方案,一種使用深度,另一種使用多遍渲染,但是我有一種直覺,感覺我沒有看到一種更整潔的方式。

如果使用OpenGL 1.1。 執行時,可以使用累積緩沖區。

累積緩沖區累積不同的渲染通道,使您可以表示每種像素顏色。 實際上,如果繪制不同的形狀,則重疊區域將累積重疊形狀的顏色值。

固定渲染階段的數量(例如N ),由M個形狀擁有的像素將具有RGB * M / N的顏色; 據我了解,這就是您想要得到的。

有關詳細信息,請參見glAccum手冊。

暫無
暫無

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

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