-
Notifications
You must be signed in to change notification settings - Fork 6
Clustered rendering
nujuxtsun edited this page Jul 7, 2019
·
2 revisions
pass 1: 直接根据划分好的区域计算frustum范围,并进行光源的剔除, 因为是直接在z上划分, 所以不需要深度信息(区别于tbr)
pass 2: 根据当前像素所在cluster,获得光源信息,然后进行光照计算
-
cluster的划分最好固定数量,而不是依赖分辨率. 因为cluster多个Z轴上的划分,非常占空间.与之相反的是我在实现tbr的时候则是给定tile大小根据分辨率计算出tile的数量.所以深度差距不大的场景交给tbr来进行更细致的光源剔除是个不错的选择. 比如我对cdr 的划分是16x16x16, 同样的空间消耗 tbr的分辨率可以是cdr的4倍,也就是更细致4倍
-
使用compute shader时注意线程的分配,我的做法是对光源求交时多分配几个线程,记得注意线程数量的限制
内容不多,好像也没找到什么特别好的文章, 基本参考那个PPT