不管是什么渲染技術,光照的處理一直一是個難點。微妙網-渲染最近分享的延遲渲染技術也是一樣。今天為大家帶來了一篇各向異性光照的文章,希望大家可以好好學習一下。 傳統的球面光照太普通了。這種光照模型使用了兩個顏色,一般標記為Top和Bottom,然后基于表面法線對這兩個顏色進行線性插值。標準的球面光照,根據表面法線方向朝正上方和正下方(這也就是為什么叫Top和Bottom),來對顏色進行插值。在Tabula Rasa中,我們支持了這種傳統的球面光照,但我們也為方向光源提供了背部顏色(Back Color)。 在延遲渲染中,美術可以很簡單地增加多盞方向光源。我們發現他們經常使用一盞與另一盞光源恰巧相反的光源來模擬輻射度。他們很喜歡這種方法的結果,因此一個自然而然的優化就是:將這兩個光源統一成一個特殊的方向光源——一個正面顏色和一個背部顏色。這給了他們相同的控制,但少了一半工作量。 對于之后的優化,背部顏色只是一個N·L的運算,或者一個簡單的朗伯(Lambertian)光照模型。我們不必要為背部實現Specular,陰影,遮擋,以及更多高級光照技術。這些背部顏色只是對整個場景環境光和輻射度一個簡單的近似。我們將正面顏色的N·L存了下來,將它的方向取反以用到背部顏色的計算上。 ![]() 各向異性光照技術在延遲渲染的教程中算是比較難掌握的,大家可以先收藏一下空了好好研究。沒看過之前的文章的同學也可以上微妙網-渲染先去學習一下基礎知識。 |