有人請解釋爲什麼使用預乘α(和修正後的混合函數)進行渲染與「正常」alpha的渲染看起來不同,在數學上講,這些是相同的?請解釋預乘alpha的工作原理
我已經研究過這個職位預乘alpha的理解:
http://blogs.msdn.com/b/shawnhar/archive/2009/11/06/premultiplied-alpha.aspx
筆者還表示,最終的計算是一樣的:
「看看混合式傳統如果將此顏色格式轉換替換爲預乘的混合函數,則可以得到傳統的混合函數,因此任何一種方式都會產生相同的最終結果。不同之處在於,預乘alpha將應用(source.rgb * source.a )計算作爲預處理而不是混合硬件內部。「
我錯過了什麼嗎?爲什麼結果不同呢?
neshone
您需要使用預倍乘內容與預倍乘混合,以及未預倍乘內容與非預倍乘混合。否則你會得到錯誤的結果。如果您使用了正確的內容,並使用了正確的方程,那麼您會得到正確的行爲。 – fadden
您應該提供更多關於迄今爲止獲得的結果差異的信息,以獲得一些幫助。 – tonso
我其實並不想修正一個錯誤或任何東西。在使用之前,我實際上首先想了解它,但是我發現網絡上的信息有點令人困惑。這就是我發佈這個問題的原因。我還想了解,如果您可以在運行時在沒有預乘資源的情況下實現相同的效果,並且在資源加載期間沒有進行修改......任何有用的資源? – neshone