最終決定越過Forward+,一步到位,直接調整至更先進的Clustered架構。步驟如下:
里程碑1:以CPU方式實現Light Culling,旨在理念驗證,並與D3D10相容
里程碑2:以GPU CS shader方式實現高度並行化的Light Culling,捨棄D3D10,僅支援D3D11及以上
其中里程碑1又包括:
1. 實現Clustered Frustum的建立,及第三人稱網格除錯顯示
2. 實現光源體的建立,及第三人稱網格除錯顯示
3. 實現光源體在Clustered Frustum中的相交性測試,及第三人稱除錯顯示
4. 規範座標變換體系,完善系統流程,實現Light Culling結果的第一人稱除錯顯示
5. 提升光源與Cluster相交性測試的效能及準確程度
6. 實現逐Cluster的相關光源列表生成,並輸出給shader
7. 最終在Ps shader中實現Cluster相交光源列表的引用及光照、著色計算
步驟配圖:
a) 相交性測試除錯介面(第三人稱)
b) 第一人稱與第三人稱顯示對準
c) 光源裁剪結果顯示,座標系變換校準
4) 最終光照測試效果,DONE!