超級採樣抗鋸齒如何運作?

超級採樣抗鋸齒如何運作?

透過線上閱讀,我了解了超級採樣抗鋸齒工作原理的基本概念,它以比用戶顯示更高的分辨率渲染場景,使用額外的像素來計算平均值,然後對其進行下採樣。

但我不太明白這在實踐中是如何運作的。例如,如果天空的藍色像素旁邊有一個紅色的牆壁像素,當場景渲染為 x2 SSAA 時,一個紅色像素現在不會只是四個紅色像素,與藍天像素相同,如何這在計算平均值時有幫助嗎?

四個新的紅色像素是否與原始圖像重疊,這樣您將獲得紅色和藍色像素的混合,並能夠計算平均值以幫助平滑牆壁和天空之間的過渡?

任何幫助,將不勝感激。

答案1

這很有幫助。在你原來的例子中:

...紅紅紅藍藍藍...

紅色和藍色之間的邊界看起來像一個樓梯

在過採樣影像中

...紅紅紅紅藍藍藍...

當我們下採樣時

....紅][紅紅][紅藍][藍藍][藍...

現在我們有一個像素是紅色和藍色一起平均的,模糊了紅色和藍色區域之間的邊界。

如果您想像紅色和藍色兩個區域之間的對角線邊界,則過採樣將在樓梯台階邊緣插入中間像素,因為許多 2x2 框必須同時包含紅色和藍色像素。

在此輸入影像描述

答案2

好吧,我會嘗試解釋一下,因為我之前在處理照片時應用過類似的方法,將一些「平滑」演算法應用於照片或低解析度照片,而無需進行非常廣泛的深度平滑。

事情是這樣的。

這是您在通常解析度下查看的像素。
別名的

一方面,我們將影像放大到 4 倍,然後應用相同的抗鋸齒演算法 高和低

需要注意的是,作為一台愚蠢的計算機,我不能只將黑色彎曲為白色(改變白色量),而且還必須將白色彎曲為黑色(平衡方程式:-)。我正在盲目地將數學矩陣應用到被告知應用它的地方。雖然顯示卡演算法很複雜,但其實並沒有這麼盲目。

遊戲中平衡的可觀察範例,您不希望柵欄消失在天空中,也不希望天空成為柵欄,因此任何調整都必須更平等地應用於天空像素和柵欄像素。這也是顯示卡和遊戲引擎破壞這種平衡的一個例子,以便在具有此類困難細節的情況下獲得最佳圖像。

在某些時候,這一切都必須回到顯示分辨率,在那裡它將是較低的分辨率,並且在有大量的項目需要調整之後,多餘的像素現在將完美地混合成更少的像素。
(好吧,這不是該混合的完美顏色,但我沒有進行數學計算) 返回低分辨率 正如您所看到的,它在顯示解析度中看起來再次很糟糕。

在低解析度方面,當我們將所有這些像素相互彎曲(黑色和白色)時,我們會產生巨大的受影響/變化區域,並且由於我們僅在低解析度下工作,因此會進行大量平滑處理。

在高解析度方面,我們獲得了完美的平衡像素集,將 4X 像素混合在一起,從而形成更小的平滑區域。因此,高解析度方面會發現像素可以使這一切變得非常漂亮,但不會留下大的模糊混亂。

因為(再次)我們必須彎曲更多的像素,以保持一個到另一個混合的平衡,如果我們首先放大,我們可以在較小的比例下創建這種彎曲混合,仍然保持一個到另一個的彎曲平衡,最終結果是受影響的像素較少,鋸齒隱藏相同。

當您使用遊戲並排比較這兩種方法時,透過看似大量額外工作所實現的差異並不那麼大。同樣的事情,當我處理將以較低解析度使用的照片時,這對我和機器來說都是很多額外的努力,而且結果只是好一點。

相關內容