Introduction of Multisampling(MSAA)
前言
如果不了解SSAA,請先到SSAA頁面查看
MSAA(Multisampling Anti-Aliasing)的做法與SSAA基本一致,也是通過增加像素提高取樣率,唯一的不同是取樣的方式。SSAA是增加的所有像素都需要執行着色計算,而MSAA則是只對原像素進行一次着色操作,再將着色得到的值傳給通過了光柵化測試等的像素中。
MSAA著色
因為MSAA的著色與SSAA極為相似,所以在很多情況下,結果與SSAA並無二致。
將原像素中著色得到的值,賦值給通過一系列測試的像素。
但是當一個三角形有漸層變色時,在變色處會容易取樣到錯誤的顏色。如下圖,原像素取樣得到綠色。將綠色賦值給通過一系列測試的像素。明顯,這個結果並不正確。
如果採用SSAA,結果會比MSAA準確。如下圖
雖然MSAA比不上SSAA。但是由於MSAA的速度比SSAA快且得到的結果與SSAA相差不大。因此,在real-time渲染中,一般會選用MSAA而不是SSAA。
與SSAA相比
- MSAA的速度與原取樣速度基本一致,多了一些步驟(查詢值、賦值、求平均操作…)
- MSAA與SSAA所佔存儲空間一致
- MSAA的質量沒有SSAA好
前書き
SSAAをまだわからない方が、まずSSAAを見てください
MSAA(Multisampling Anti-Aliasing)はSSAAとほぼ同じの手法である。解像度を増加し、サンプリング周波数を増大する。違うところはシェーディングの方法だけである。
SSAAはピクセルごとにシェーディングを行うが、MSAAは元ピクセルにシェーディングを1回行い、計算された値をピクセルの値とする。
MSAAのシェーディンググ
MSAAはSSAAと似っているため、多くの場合、同じの結果になる。
元ピクセルで計算された値をピクセルの値とする。
しかし、三角形にグラデーションがあると、変色箇所で誤った色がサンプリングされやすくなる。
最後の結果は緑色ですが、正しいではない。
もし、SSAAを使用したら、結果はMSAAを使用するよりも良くなります。
MSAAはSSAAのより品質が低いですが、高速な計算ができるため、レアルタイムレンダリングでよく使用されている。
SSAAとの比較
- MSAAのほうが速い
- MSAAとSSAAは同じストレージが必要
- SSAAのほうがきれい