1. 程式人生 > >【NPR】非真實感渲染實驗室

【NPR】非真實感渲染實驗室

出了 csdn content length 更新 car type pretty art

寫在前面


前幾天在知乎看到一個問題——關於非實感圖形學或者風格化渲染有哪些好的書或者paper,我剛好接觸過一些就去裏面回答了一下。答完以後突然想在Unity裏搞一個這種集錦,把一些簡單的NPR論文或者教程在Unity裏實現一下。於是這兩天就做了一下。

我把這個項目放到了GitHub(https://github.com/candycat1992/NPR_Lab)上,有興趣的同學能夠去看一下。

項目鏈接:https://github.com/candycat1992/NPR_Lab

實現了哪些NPR


就這兩天的工作,我主要挑選的是關於卡通渲染一些最早的論文,比如1998年的A Non-Photorealistic Lighting Model for Automatic Technical Illustration,這篇是最早提出在卡通渲染使用色調來模擬插畫風格的文章。

因為Unity封裝的太好了,一些論文中的效果我沒有在Unity裏做出來,等到Unity更新之後開放很多其它功能的時候我會更新。

這個項目不出意外的話我會一直更新的。假設大家一些希望看到的NPR效果能夠跟我說。有時間的話我會嘗試去實現。

每次更新項目,假設加入了新的渲染效果。我也會在項目的README裏註明。比如,在我寫這篇文章的時候,我一共實現了五個簡單的NPR:

  • Antialiased Cel Shading

    Related Scene: AntialiasedCelShadingScene

    Reference: http://prideout.net/blog/?p=22

    技術分享

  • Tone Based Shading

    Related Scene: ToneBasedShadingScene

    Reference: Gooch A, Gooch B, Shirley P, et al. A non-photorealistic lighting model for automatic technical illustration[C]//Proceedings of the 25th annual conference on Computer graphics and interactive techniques. ACM, 1998: 447-452.

    技術分享

  • Stylized Highlights

    Related Scene: StylizedHighlightsScene

    Reference: Anjyo K, Hiramitsu K. Stylized highlights for cartoon rendering and animation[J]. Computer Graphics and Applications, IEEE, 2003, 23(4): 54-61.

    技術分享

  • Pencil Sketch Shading

    Related Scene: PencilSketchShadingScene

    Reference: Lake A, Marshall C, Harris M, et al. Stylized rendering techniques for scalable real-time 3D animation[C]//Proceedings of the 1st international symposium on Non-photorealistic animation and rendering. ACM, 2000: 13-2

    技術分享

  • Hatching

    Related Scene: HatchingScene

    Reference: Praun E, Hoppe H, Webb M, et al. Real-time hatching[C]//Proceedings of the 28th annual conference on Computer graphics and interactive techniques. ACM, 2001: 581.

    技術分享


背後的原理


這些實驗大部分都是參考了論文。少數是基於一些教程。

它們大多數僅僅使用到了shader。在項目的README裏。我給出了每種效果參考的資料以及在項目中的場景名字。我本來打算每種效果都寫一篇博文來講一下原理,但近期在寫書並且還有實驗室方面的工作要做,時間沒那麽充裕,因此更新會慢。但就眼下實現的幾種效果來說。大家都能夠從論文中找到實現原理,並且shader也都不復雜。



寫在最後


這個項目也是純屬興趣,假設大家有不論什麽意見和建議歡迎給我留言。假設發現我的實現有誤。也一定要告訴我。

最後,希望大家能夠hava fun~

【NPR】非真實感渲染實驗室