Tessellation (曲面細分) Displacement Mapping (貼圖置換)

來源:互聯網
上載者:User

標籤:

DirectX 11 Tessellation (曲面細分)—什麼是 Tessellation (曲面細分) ?

它為什麼可以起到如此關鍵的資料?

隨著近期人們對 DirectX 11 的議論紛紛,你可能已經聽說了有關 DirectX 11 最大新特性 Tessellation (曲面細分) 的大量介紹。作為一個概念。 Tessellation (曲面細分) 非常直截了當,就是處理一個多邊形分成諸多小片段。

可是為什麼這種處理方式可以備受矚目呢?

它是怎樣協助提升遊戲畫質的呢?本文中,我們將分析 Tessellation (曲面細分) 之所以可以為 PC 3D 圖形帶來深刻變革的原因,並闡釋一下 NVIDIA® GeForce® GTX 400 系列 GPU 怎樣提供突破性的 Tessellation (曲面細分) 效能。

從本質上來講, Tessellation (曲面細分) 是一種將多邊形分解成更加細小的片段以提升幾何逼真度的方法。

比如,假設處理一個正方形並將其沿對角線切開,那麼實際上就是將這一正方形“曲面細分”成為兩個三角形。就其本身而言, Tessellation (曲面細分) 並不能提升半點鐘逼真度。

比如,在遊戲中。一個正方形被渲染成為兩個三角形還是兩千個三角形都是無關緊要的。

僅僅有在使用新三角形來描寫敘述新資訊時, Tessellation (曲面細分) 才幹提升逼真度。

當一個置換貼圖 (左) 應用到平面上時,所產生的表面 (右) 就會表現出置換貼圖中所編碼的高度資訊。

運用新三角形最簡單、最流行的方式就是有“ Displacement Mapping (貼圖置換) ”之稱的技術。置換的貼圖就是一個儲存高度資訊的紋理。當應用到某一表面上時,該貼圖讓這一表面的頂點可以依據高度資訊調高或調低。 比如,使用一塊大理石板,圖形藝術家可以通過“置換”頂點的方法打造雕刻效果。還有一種流行技術是將置換的貼圖應用到地形上,以雕琢出彈坑、峽穀以及山峰。

正如 Tessellation (曲面細分) 一樣。 Displacement Mapping (貼圖置換) 已經存在非常長一段時間了。可是直到近期,它才真正流行起來。

究其原因,是由於想要讓 Displacement Mapping (貼圖置換) 有效。表面必須由大量頂點構成才行。以大理石雕刻為例。假設大理石塊由八個頂點構成。那麼在它們之間便沒有可以產生龍形浮雕的相對置換量了。僅僅有在基礎網格中具備足夠多的頂點用以描繪新形狀時才可以產生仔細的浮雕。

從本質上來講, Displacement Mapping (貼圖置換) 須要 Tessellation (曲面細分) 。反之亦然。

隨著 DirectX 11 的問世。 Tessellation (曲面細分) 與 Displacement Mapping (貼圖置換) 最終實現了珠聯璧合。廣大開發商已經增加到這一陣營其中。

像《Alien vs. Predator》以及《地鐵2033》這種流行遊戲均採用了 Tessellation (曲面細分) 來產生外觀平滑的模型,而開發商Valve公司與 id Software 已經完畢了一些前景看好的工作,將這些技術應用到其現有的遊戲人物身上。

當一個粗糙的模型 (左) 經過 Tessellation (曲面細分) 處理後,就會產生平滑的模型 (中間)。當應用了貼圖置換之後 (右)。遊戲人物便接近電影般的逼真度了。 © Kenneth Scott、id Software著作權全部。2008

由於DirectX 11 Tessellation (曲面細分) 流水線是可程式化的。因此可以用它來解決大量圖形問題。讓我們來看一看四個執行個體。

完美凹凸貼圖

從本質上來講,Displacement Mapping (貼圖置換) 可被用作現有凹凸貼圖技術的暫時替代技術。比如法線貼圖等當前的技術通過更佳的像素渲染,可以創造出凹凸表面的假象。全部這些技術都僅僅在特定情況下有效,而且在其起效時並非全都那麼逼真。以下以凹凸貼圖中較為先進的視差遮蔽貼圖為例進行說明。

儘管它可以產生重疊的幾何假象,可是它僅僅能在平面上以及物體內部起作用 (見)。真正的 Displacement Mapping (貼圖置換) 不存在這些問題,可以從全部視角產生精確的結果。

更加平滑的人物

無需藝術家手工輸入,PN-Triangles 可實現遊戲人物的自己主動平滑。幾何與光照逼真度均可以得到提升。

細化演算法是 Tessellation (曲面細分) 的還有一個自然搭檔。細化演算法可處理粗糙模型,藉助於 Tessellation (曲面細分) 。該演算法可建立外觀更加平滑的模型。PN-Triangles (也稱作N-patches) 就是一個流行的執行個體。PN-Triangles演算法可以將低解析度模型轉化為彎曲表面,該表面然後可以被又一次繪製成由“高精曲面細分”的三角形所組成的網格。在當今遊戲中,我們覺得理所當然的大量視覺假象都可以藉助此類演算法來消除。這些視覺假象包含人物關節處呈現塊狀圖案、汽車輪子呈多邊形外觀以及面部特徵粗糙。比如,《Stalker: Call of Pripyat》中就使用了 PN-Triangles 來產生外表更平滑、更自然的人物。

無縫的精細度

在具有大型、開放式環境的遊戲其中。使用者可能會注意到,遠處的物體常常會時而出現、時而消失無。這是由於遊戲引擎正在不同精細度 (LOD) 之間進行切換,以限制幾何工作負載。由於須要為同一模型或環境儲存多個版本號碼的資料。所以直到那個時候,都還沒有一種簡單的方法可以連續改變精細度。

動態 Tessellation (曲面細分) 通過即時改變精細度。攻克了這一問題。比如。當遠處的建築物首次映入眼帘時,或許僅使用10個三角形來渲染它。隨著使用者視野的拉近,該建築物的顯著特徵開始浮現,很多其它三角形則被用來描繪窗子和屋頂等細節。當你最終到達門口時,單單舊式銅質門把手一項就動用了一千個三角形來進行渲染;Displacement Mapping (貼圖置換) 仔細地雕刻出了每一道凹槽。

由於消除了動態 Tessellation (曲面細分) 對象的時隱時現。因此遊戲環境如今可以擴充至差點兒無限的幾何精細度。

收放自如的藝術品

對開發商來說, Tessellation (曲面細分) 大幅提升了其內容創作流水線的效率。

在描寫敘述其使用 Tessellation (曲面細分) 的動機時。Valve 公司的 Jason Mitchell 表示:“我們對可以編輯遊戲內容這一點非常感興趣,由於這樣就讓我們可以實現縮放了。

也就是說。我們想要僅僅製作一次模型,然後便可以將其提升至電影畫質…反之。我們想要可以自然地減少遊戲內容的畫質,以滿足在特定系統上實現即時渲染的須要。

”這種僅建立一次模型便可在各種平台上使用的能力意味著縮短了開發時間。對PC遊戲玩家來說,這意味著在其GPU上可以實現最高的映像畫質。

GeForce® GTX 400 GPU(圖形處理器)怎樣處理 Tessellation (曲面細分)

傳統的GPU(圖形處理器)設計採用單個幾何引擎來運行 Tessellation (曲面細分) 任務。這個方案是相似早期的GPU設計,此類設計均使用利用單個像素流水線來運行像素著色。

在認識到像素流水線是怎樣從一個單元發展為多個並行單元以及這一進展是怎樣在3D逼真度方面大放異彩之後,我們便從一開始就設計了自己的並行 Tessellation (曲面細分) 架構。

GeForce® GTX 400 GPU (圖形處理器) 擁有最多15個 Tessellation (曲面細分) 單元,每個單元都具備針對頂點拾取、 Tessellation (曲面細分) 以及座標變換的專用硬體。

它們利用4個並行光柵引擎來進行運算,這些引擎可將新近曲面細分的三角形轉換成精細像素流以便用於著色。這樣一來, Tessellation (曲面細分) 的效能便實現了巨大突破。持久效能達每秒16億三角形以上。與最快的同類產品相比,GeForce® GTX 480 的速度最高可達7.8倍。

這一資料由獨立站台Bjorn3D所測得。

結語

經過多年的重複實驗, Tessellation (曲面細分) 最終在PC上獲得了成功。

《地鐵 2033》等優秀遊戲已經展現了 Tessellation (曲面細分) 的潛力。最終, Tessellation (曲面細分) 將成為同像素著色一樣關鍵、一樣不可缺少的技術。

由於意識到了 Tessellation (曲面細分) 的重要性。NVIDIA® 公司從一開始便打造並行 Tessellation (曲面細分) 架構,推動這一進程。

成果就是 GeForce® GTX 400 系列 GPU (圖形處理器)—幾何逼真度與 Tessellation (曲面細分) 效能的真正突破。

Tessellation (曲面細分) Displacement Mapping (貼圖置換)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.