前言
學習Shader的過程中發現模型鋸齒嚴重,於是去Edit——Project Settings——Quality選項下將反鋸齒設置為了8X Multi Sampling。結果沒有任何改變,如圖:
解決辦法
將攝像機的渲染路徑(Rendering Path)設置為前向渲染(ForwardBase)就行,因為Unity默認的延遲渲染(Deffered Rendering)不支持多重采樣抗鋸齒(MSAA),如圖:
可以看到模型邊緣變平滑了許多。
為什么多重采樣抗鋸齒不能在延遲渲染模式下工作?
延遲渲染依賴於每個片段存儲的數據,這是通過紋理來完成的。這與多重采樣抗鋸齒不兼容,因為抗鋸齒技術依賴於子像素數據。雖然三角形的邊緣仍然可以從多重采樣抗鋸齒中受益,但延遲渲染的數據仍然是混疊的。你將不得不依靠一個后處理過濾器來進行抗鋸齒。
參考資料
有關延遲渲染可以參考
Unity Rendering (13) :Deffered Shading 作者:Catlike Coding
中文版地址:
Unity 渲染教程(十三):延遲渲染 譯者:崔嘉藝(milan21)審校:王磊(未來的未來)
額外參考:
前向渲染和延遲渲染的區別 作者:Lavender