在延遲渲染中,封裝和隱藏MRT數據是一個必須要掌握的技術之一。今天藍·海微妙網渲·染就給大家帶來這個延遲渲染的技巧,希望大家可以認真學習。![]() 我們并不直接把材質屬性的數據通道或者數據格式暴露給光照Shader,而是通過一些函數來設置和獲取這些信息。這樣,數據的位置和格式就可以隨意改變,而材質和光源則只需要重新編譯,而不必修改。 我們也提供了一個在材質里專門初始化所有MRT數據的Shader。這可能增加了不必要的指令開銷,但為我們未來擴展新的數據通道提供了便利,也不必要再去修改已經存在的材質Shader了。材質Shader只有在默認值需要發生改變時,才會去修改。 相信對于有一定渲染基礎的人來說,延遲渲染的封裝和隱藏MRT數據技術理解起來不會很困難。如果還是不明白的話可以先上藍·海微妙網渲·染學習一下。 |