bevy icon indicating copy to clipboard operation
bevy copied to clipboard

Meshlet tracking issue

Open JMS55 opened this issue 1 year ago • 2 comments

Runtime performance:

  • 🔥 (Probably not needed once we have BVH-based persistent culling, but super easy and should be a nice win): Rather than a binary search in fill_cluster_buffers with one thread per cluster, spawn 1 workgroup per instance, have it reserve a slice of the cluster buffers, and then have its threads loop writing elements to the instance and meshlet ID buffers.
  • 🔥 Cleanup resource_manager.rs and visibility_buffer_raster_node.rs, improve CPU performance, and add more GPU debug group labels
  • Fix all occlusion culling bugs
  • Persistent culling

Runtime performance (low priority):

  • Write a heuristic for software vs hardware raster selection
  • Upload instance uniforms only for changed entities (and see if we can shrink the size too)
  • Single set of passes to render all views at once
  • Instance culling
  • Compute-based material shading
  • Variable-rate shading (compute shader based)
  • LOD bias for shadow views

DAG building:

  • Manual vertex locking
  • Larger meshlet groups
  • Vertex attribute-aware simplification
  • Multithread parts of MeshletMesh::from_mesh() maybe? (could use rayon)

Compression:

  • Meshlet triangle compression
  • Streaming
  • Disk-oriented compression

Tooling:

  • Debug stats + visualizations
  • Asset processor for mesh -> meshlet mesh conversion
  • Docs

JMS55 avatar Jan 24 '24 23:01 JMS55