Nabla icon indicating copy to clipboard operation
Nabla copied to clipboard

MDI Compaction in ILoDAndCullingSystem

Open devshgraphicsprogramming opened this issue 4 years ago • 0 comments

Description

Right now the MDI ranges are not compacted (having the drawcalls with 0 instances removed).

But the DrawIndirectAllocator and all the resources in on the C++ side are already setup for this

Solution proposal

An additional Dispatch (direct, cause you can have a list of MDIs up front) over the drawcalls that prefix sums their boolean instanceCount!=0u flag

Then another dispatch that scatter counting sorts them onto compressed buffer of DrawIndirect and updates the drawcount for an associated MDI.

Additional context