革命性DX11架構(gòu)!GTX480/470權(quán)威評測
第二章/第二節(jié) Tessellation技術(shù)實(shí)現(xiàn)的原理
Tessellation這個英文單詞直譯為“鑲嵌”,也就是在頂點(diǎn)與頂點(diǎn)之間自動嵌入新的頂點(diǎn)。Tessellation經(jīng)常被意譯為“細(xì)分曲面”,因為在自動插入大量新的頂點(diǎn)之后,模型的曲面會被分得非常細(xì)膩,看上去更加平滑致密。下面這張圖形象的反映出Tessellation技術(shù)的原理和所實(shí)現(xiàn)的效果:
Tessellation原始模型——輕度細(xì)分——重度細(xì)分
通過上面這張示意圖,我們就可以更容易理解Tessellation技術(shù)是怎么回事了,它是一種能夠在圖形芯片內(nèi)部自動創(chuàng)造頂點(diǎn),使模型細(xì)化,從而獲得更好畫面效果的技術(shù)。Tessellation能自動創(chuàng)造出數(shù)百倍與原始模型的頂點(diǎn),這些不是虛擬的頂點(diǎn),而是實(shí)實(shí)在在的頂點(diǎn),效果是等同于建模的時候直接設(shè)計出來的。
Tessellation技術(shù)是完全可編程的,它提供了多種插值頂點(diǎn)位置的方法來創(chuàng)造各種曲面:
1. N-Patch曲面,就是和當(dāng)年TruForm技術(shù)一樣,根據(jù)基礎(chǔ)三角形頂點(diǎn)的法線決定曲面;
2. 貝塞爾曲面,根據(jù)貝塞爾曲線的公式計算頂點(diǎn)的位置;
3. B-Spline、NURBs、NUBs曲線(這三種曲線均為CAD領(lǐng)域常用曲線,在Maya中均有相應(yīng)工具可以生成)
4. 通過遞歸算法接近Catmull-Clark極限曲面。
Tessellation技術(shù)最初主要被用以“細(xì)分曲面”,隨著該技術(shù)被納入DX11范疇,得到大范圍推廣之后,插值頂點(diǎn)的算法也越來越多,因此用途也越來越廣,產(chǎn)生了很多非常有創(chuàng)意的應(yīng)用,在本章后面幾節(jié)當(dāng)中筆者會為大家做更詳細(xì)的介紹。
Tessellation技術(shù)還經(jīng)常與Displacement Maps(貼圖置換)技術(shù)搭配使用,從而將平面紋理貼圖改造成為具有立體感的幾何圖形,大大增強(qiáng)3D模型或場景的真實(shí)性。
除了大幅提升模型細(xì)節(jié)和畫質(zhì)外,Tessellation最吸引程序員的地方就是:他們無需手動設(shè)計上百萬個三角形的復(fù)雜模型,只需簡單勾繪一個輪廓,剩下的就可以交給Tessellation技術(shù)自動鑲嵌,大大提高開發(fā)效率;而且簡單的模型在GPU處理時也能大幅節(jié)約顯存開銷,同時大幅提升渲染速度!
關(guān)注我們



