Slides: LOD and Culling Systems that Scale

Started by
0 comments, last by khawk 5 years, 5 months ago

Mike Acton from Unity shared the slides from his Unite LA talk on LOD and Culling Systems that Scale, where he described the method used for culling and HLOD for the MegaCity demo.

Labelled as a talk about what he "didn't do", Acton lists 7 points about how he went about with the optimizations.

Quote
  1. I didn't add spatial grouping of any kind (e.g. grid or octtree) because I *already* effectively had that in how our chunk component data is stored.
  2. I didn't add a secondary hierarchy for broadphase because I *already* effectively had that in how render batches are stored.
  3. I didn't need to store *any* transform hierarchy (DAG) information for the scene because the DAG is static. Everything from render matrix to bounding volumes could be prepared for just the final check and push.
  4. I didn't need to rebuild the world state when new subscenes were streamed in or out because the streaming data already kept a subscene id component, which I could use to keep the state data (e.g. render batches) separated.
  5. I didn't need to update the state when the structure of any (related) component changed because I could show when/that the structure of just the chunks I had state on could *not* have changed.
  6. I didn't need to do anything special at all to maximize concurrency for culling and LOD updates because I could prove each chunk was reading/writing from/to independent data.
  7. I didn't have to add any complicated machinery to manage shared instance LOD information because the data showed *most* weren't shared anyway, and the cost of checking is higher than just making them all independent and flat.

View the full twitter thread:

Presentation as a PDF: culling.pdf


View full story

Admin for GameDev.net.

This topic is closed to new replies.

Advertisement