2013-04-21 91 views
2

從我剛剛掌握的OpenGL經驗中,我發現特別是來自alpha混合的性能命中。我不會顯示任何代碼示例,因爲它不是特別相關。我只是感興趣的是,爲什麼在繪製片段時,alpha混合是一種昂貴的方法。顯然,這是一個額外的操作,而不是僅僅將片段着色器輸出寫入像素,但任何人都可以詳細說明這個操作究竟是什麼?我知道我可以通過官方文件篩選,但我正在尋找一個快速簡單的解釋。爲什麼alpha混合如此昂貴?

回答

2

Alpha混合需要每個像素read + compute + write而不是簡單的write。其計算公式爲

new_value = old_value * (1 - alpha) + color * alpha 

這當然是困難得多比

new_value = color 
+0

做的是不對的,如果你考慮非al​​pha混合的「讀+寫」?你必須從源頭上讀取價值! – 2013-09-10 04:09:56

+1

@WagnerPatriota:那麼當使用alpha混合時,操作是'read + read + write'。 – 6502 2013-09-10 05:43:53