Clustered Shading架构实现步骤
最终决定越过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!