非真實渲染(一)

來源:互聯網
上載者:User

 輪廓和邊界的提取是非真實渲染中一個常用的表現方法,由於它的卡通描述風格,儘管結構簡單但卻對整體效果的表現有極大的增強效果。基本的輪廓邊界提取方法有基於映像空間和基於3D空間的方法:

基於映像空間的方法利用傳統渲染管線來得到當前模型投影的輔助資訊,然後用這些資訊來提模數型的輪廓和邊界。這種方法速度較快,效率較高,但是提取的輪廓可能會不連貫,而且得到的輪廓是基於像素而非幾何的,因此一般不可控,不太容易在此基礎上進行其它NPR效果的擴充。

基於3D空間的方法是在3D模型的基礎上對幾何圖元進行空間分析,處理的3D對象可以是網格化描述,也可以是曲面方程描述的,這種方法可以產生參數化的輪廓邊界線方程,這樣就可以在這些參數化的輪廓線上施加其它多種豐富的NPR效果。但受限於當前電腦的運算能力,使用基於3D的輪廓提取方法不太容易達到即時,因而這種方法在遊戲之中的使用就受到了限制。

這裡採用了基於映像空間的邊界輪廓提取方法,基本實現:

1.       在當前視角下對情境進行渲染得到法向量圖、深度圖(當然,在實現時可以將兩者合并)。

2.       使用法向量貼圖和深度貼圖進行基於2D的情境輪廓邊界探測。

3.       將得到的邊界與情境進行有機融合,並添加其它的NPR渲染效果,如Toon Shading、Gooch Shading等。

 

 

 

    

 

    該演算法實現中的主要操作在於結合器向量紋理與深度紋理圖來進行模型輪廓和邊界的探測:對於當前螢幕空間中的每個像素點,在它周圍進行擴充,訪問紋理並得到周邊點的深度和法向量,然後將其與當前點上的深度和法向量進行比較來判斷它們之間的變化是否大於某一閾值,如果大於則認為有突變,即其是處在邊界之上的,否則認為其沒有處在邊界之上。但由於受採樣的粒度及3D到2D投影變換的影響,採樣比較得到的輪廓邊界線可能會出現寬度不一致的情況,對於這個問題可以採用影像處理中的邊界細化的操作,對初始輪廓邊界線再施加一個流程的處理得到寬度一致的輪廓線,並且在這個過程中可以對輪廓和邊界線的寬度進行再控制。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.