個人比較喜歡看圖說話。
這里簡單的用圖和文字說明一下gkENGINE HDR渲染流程中的關鍵步驟。如果要一步一步的解析,光是解釋RT的創建,釋放,紋理格式的選用。可能就需要一整天。如果再設計到框架搭建,shader的實際處理,可能幾天都不夠。所以這里就不詳細進行代碼層面的講解了。
不過這里列舉幾個非常關鍵的地方:
- 線性空間的重要性: 保持光照運算在線性空間是十分重要的。只有在線性空間進行運算,才能保證光照的結果真實可信。
- 浮點紋理:HDR的運算和RT一定使用浮點紋理,8位的紋理不足以表達如此精准的明暗細節。
- 紋理尺寸:紋理尺寸的選擇要仔細斟酌。浮點紋理對顯卡帶寬的占用非常巨大,在保證精准的前提下,能省就省。
這個流程供圖形好友們參考,權當拋磚引玉了!歡迎交流!