NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(…
NVIDIA在最新發表的文件(<a href="http://research.nvidia.com/sites/default/files/pubs/2018-08_Adaptive-Temporal-Antialiasing/adaptive-temporal-antialiasing-preprint_0.pdf">PDF</a>)中,介紹了全新的Adaptive Temporal Anti-Aliasing反鋸齒技術,這種技術以TXAA為基礎,並融合光線追蹤的繪圖方式,能夠進一步消除TXAA產生的模糊、鬼影等副作用,更棒的是這個技術還能相容於現在商業遊戲的光線追蹤API。<h2>反鋸齒讓3D影像更細緻</h2> <p>在開始介紹Adaptive Temporal Anti-Aliasing(以下簡稱ATAA)之前,讀者不妨先閱讀筆者先前撰寫的《<a href="https://www.techbang.com/posts/12841">顯示卡 4 大反鋸齒技術探討:鋸齒的產生與消除,前處理、後處理之爭</a>》,以瞭解反鋸齒的基本知識與概念。</p> <p>傳統的SSAA(Super Sample Anti-Aliasing)與MSAA(Muitl-Sample Anti-Aliasing)反鋸齒技術都是3D繪圖時,在柵格化(Rasterisation,也稱光柵化)的步驟中提高取樣點的數量,進而提升取樣精細度,減輕圖像的不連續性,來減少視覺上的鋸齒感。</p> <p>由於SSAA、MSAA對效能的需求比較大,所以遊戲傾向採用MLAA(Morphological Anti-Aliasing)、SMAA(Enhanced Subpixel Morphological Anti-Aliasing)、FXAA(Fast Approximate Anti-Aliasing)等後處理反鋸齒技術。</p> <p>這類技術的特點是不改變3D繪圖過程,而是當繪圖完成後才針對輸出的2D圖像進行反鋸齒處理,可以有效節省運算效能。若舉攝影的打光做為例子,SSAA、MSAA就像在拍照前就透過閃光燈補強,而後處理反鋸齒技術則是透過修圖軟體增加圖片亮度。</p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn1-techbang.pixfs.net/system/images/452866/original/1733b4c60e12345a10b309727013334e.png?1533196706" alt="NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)" width="440" height="424" /><label class="caption" style="width: 440px; display: block; text-align: left; color: #555; line-height: 22px; padding: 0 3px 22px 3px; border-bottom: 2px solid #f0f0f0; margin: 5px auto 1rem auto;"><span style="color: #2382c5; padding-right: 5px;"> ▲ </span>從圖例中可以清楚看到取樣點對畫面細緻度造成的影響,並能降低鋸齒的嚴重性。</label></p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn0-techbang.pixfs.net/system/images/452867/original/1a442660bd50560e8e18536431447cda.png?1533196708" alt="NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)" width="640" height="319" /><label class="caption" style="width: 640px; display: block; text-align: left; color: #555; line-height: 22px; padding: 0 3px 22px 3px; border-bottom: 2px solid #f0f0f0; margin: 5px auto 1rem auto;"><span style="color: #2382c5; padding-right: 5px;"> ▲ </span>傳統反鋸齒的概念為增加取樣點,並透過調色減輕圖像的不連續性,減少鋸齒感。</label></p> <h2>加入時間要素並融合</h2> <p>這次要介紹的ATAA是以TXAA(Temporal Anti-Aliasing,也簡稱為TAA)為基礎,雖然TXAA也是屬於後處理的性質,但是與前述技術最大的不同是,傳統的反鋸齒以比對單一畫格中的不同位置為主,所以稱為空間反鋸齒,而TXAA則會比對前後畫格中的物件邊緣與細節,因為資料為跨時間軸的多張畫格,因此也稱時間反鋸齒,能夠進一步降低物件移動時造成的閃爍等瑕疵。</p> <p>ATAA除了保有TXAA的概念外,還在傳統的<a href="https://zh.wikipedia.org/wiki/%E6%A0%85%E6%A0%BC%E5%8C%96">柵格化</a>繪圖方式中導入了<a href="https://zh.wikipedia.org/wiki/%E5%85%89%E7%B7%9A%E8%BF%BD%E8%B9%A4">光線追蹤</a>,彌補TXAA不足之處,透過混合2種截然不同的繪圖方式,進一步強化反鋸齒效果,並降低TXAA模糊、鬼影的副作用,帶來接近8x SSAA的圖像品質。</p> <p>由於柵格化與光線追蹤屬於完全不同的繪圖體系,雙方的資料結構差異也很大,因此先前並沒有適切的技術來執行這種異質運算,而NVIDIA則透過自家的<a href="https://developer.nvidia.com/rtx">RTX</a>光線追蹤技術與<a href="https://blogs.msdn.microsoft.com/directx/2018/03/19/announcing-microsoft-directx-raytracing/">Microsoft DirectX Ray Tracing</a>(DXR)等API,達成雙方資料與渲染器的協作,進而實現ATAA。</p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn0-techbang.pixfs.net/system/images/452868/original/d172cecd28d719004aaeff9d665c21bb.jpg?1533196709" alt="NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)" width="720" height="407" /><label class="caption" style="width: 720px; display: block; text-align: left; color: #555; line-height: 22px; padding: 0 3px 22px 3px; border-bottom: 2px solid #f0f0f0; margin: 5px auto 1rem auto;"><span style="color: #2382c5; padding-right: 5px;"> ▲ </span>NVIDIA使用Unreal Engine 4引擎繪製展示場景,並讓攝影機以每秒30幀的速度移動。</label></p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn2-techbang.pixfs.net/system/images/452869/original/6cb13be28b69694a8513f9373e4663b4.jpg?1533196710" alt="NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)" width="720" height="406" /><label class="caption" style="width: 720px; display: block; text-align: left; color: #555; line-height: 22px; padding: 0 3px 22px 3px; border-bottom: 2px solid #f0f0f0; margin: 5px auto 1rem auto;"><span style="color: #2382c5; padding-right: 5px;"> ▲ </span>圖中分別為無反鋸齒(1 Sample per Pixel,1SPP),與標準TAA、8x ATAA&nbsp; 的畫質比較。</label></p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn2-techbang.pixfs.net/system/images/452870/original/035c1147b569a514fdbf2f611e47984f.jpg?1533196711" alt="NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)" width="720" height="395" /><label class="caption" style="width: 720px; display: block; text-align: left; color: #555; line-height: 22px; padding: 0 3px 22px 3px; border-bottom: 2px solid #f0f0f0; margin: 5px auto 1rem auto;"><span style="color: #2382c5; padding-right: 5px;"> ▲ </span>在TAA範例中,帆船的纜繩比較不清晰。</label></p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn1-techbang.pixfs.net/system/images/452871/original/33fd37dcc21feae87182b2e200f5fbe8.jpg?1533196712" alt="NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)" width="720" height="395" /><label class="caption" style="width: 720px; display: block; text-align: left; color: #555; line-height: 22px; padding: 0 3px 22px 3px; border-bottom: 2px solid #f0f0f0; margin: 5px auto 1rem auto;"><span style="color: #2382c5; padding-right: 5px;"> ▲ </span>ATAA的纜繩則比較清晰,而且明顯平滑許多。</label></p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn0-techbang.pixfs.net/system/images/452872/original/0f9febb72f63d1cdcf9ff8b083fb37ea.jpg?1533196713" alt="NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)" width="476" height="268" /><label class="caption" style="width: 476px; display: block; text-align: left; color: #555; line-height: 22px; padding: 0 3px 22px 3px; border-bottom: 2px solid #f0f0f0; margin: 5px auto 1rem auto;"><span style="color: #2382c5; padding-right: 5px;"> ▲ </span>NVIDIA RTX光線追蹤繪圖技術可以支援自家OptiX,以及DXR、Vulkan等API。</label></p> <p>筆者會在下篇的文章中,進一步說明ATAA的運作原理,請有興趣的讀者保持關注。</p> <p>&nbsp;</p> <blockquote> <p><strong>系列文章:</strong><br /><a href="https://www.techbang.com/posts/12841">顯示卡 4 大反鋸齒技術探討:鋸齒的產生與消除,前處理、後處理之爭</a><br /><a href="https://www.techbang.com/posts/60189">NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(上)</a><br />NVIDIA發表Adaptive Temporal Anti-Aliasing反鋸齒技術,強化TXAA並融入光線追蹤(下)(工作中)</p> </blockquote><a href="http://www.facebook.com/TKbang">加入T客邦Facebook粉絲團</a><img src="http://feeds.feedburner.com/~r/techbang/~4/K-2Lg2Aadzg" height="1" width="1" alt=""/>