文章參照該文 https://zhuanlan.zhihu.com/p/38411575
【章節概覽】
這章介紹了如何使用可選的位移貼圖(Displacement Mapping)執行Catmull-Clark細分曲面(Catmull-Clark Subdivision Surfaces)的視圖相關的自适應鑲嵌(Adaptive Tessellation)。使用GPU進行鑲嵌計算,這可以節省圖形總線帶寬,并且比使用CPU快許多倍。
【核心要點】
文中通過重複細分(repeated subdivision)的方法來實作鑲嵌,通過渲染到2D紋理來實作。細分,平坦度測試(Flatness Test)和最終頂點屬性計算使用片元着色器(也稱像素着色器)完成。該方法假設細分曲面控制網格的頂點資料存儲在紋理貼圖中。中間結果也渲染到紋理貼圖并從紋理貼圖讀取,并且最終的鑲嵌結果(位置,法線等)被渲染到一個頂點數組中,以被渲染圖元(render-primitives)如glDrawElements()函數使用。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauQGafVGNlRDMyYmM1EjZ5YDOwQ2YmRDOhhTNjVzM4gjN2QmNtIjdvwFM48CXt92YucWbphmeuMzYpB3Lc9CX6MHc0RHaiojIsJye.jpg)
對立方體的Catmull-Clark細分
自适應鑲嵌(Adaptive Tessellation) vs. 均勻鑲嵌(Uniform Tessellation)
總之,這章介紹了一個結合使用廣度優先遞歸(breadth-first recursion algorithm)細分算法在GPU上鑲嵌細分表面的方法。文中描述了執行平坦度測試、實作細分和計算極限表面屬性所需的着色器。而且解釋了如何修改着色器來添加位移映射的支援,以增加細分表面模型的幾何細節。
【關鍵詞】
Catmull-Clark細分 (Catmull-Clark subdivision)
位移貼圖(Displacement Mapping)
平坦度測試(Flatness Test)
GPU鑲嵌(GPU Tessellation )
自适應鑲嵌(Adaptive Tessellation)