Jump to content
  • Advertisement
  • 11/14/18 04:00 PM

    Slides: LOD and Culling Systems that Scale


    • Posted By khawk

    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.

    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

      Report Story

    User Feedback

    There are no comments to display.

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!