Papers
Topics
Authors
Recent
Search
2000 character limit reached

Concurrent Binary Trees for Large-Scale Game Components

Published 2 Jul 2024 in cs.GR | (2407.02215v1)

Abstract: A concurrent binary tree (CBT) is a GPU-friendly data-structure suitable for the generation of bisection based terrain tessellations, i.e., adaptive triangulations over square domains. In this paper, we expand the benefits of this data-structure in two respects. First, we show how to bring bisection based tessellations to arbitrary polygon meshes rather than just squares. Our approach consists of mapping a triangular subdivision primitive, which we refer to as a bisector, to each halfedge of the input mesh. These bisectors can then be subdivided adaptively to produce conforming triangulations solely based on halfedge operators. Second, we alleviate a limitation that restricted the triangulations to low subdivision levels. We do so by using the CBT as a memory pool manager rather than an implicit encoding of the triangulation as done originally. By using a CBT in this way, we concurrently allocate and/or release bisectors during adaptive subdivision using shared GPU memory. We demonstrate the benefits of our improvements by rendering planetary scale geometry out of very coarse meshes. Performance-wise, our triangulation method evaluates in less than 0.2ms on console-level hardware.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (31)
  1. Arul Asirvatham and Hugues Hoppe. 2005. Terrain rendering using GPU-based geometry clipmaps. GPU Gems 2 (2005), 27–46.
  2. F Betul Atalay and David M Mount. 2007. Pointerless implementation of hierarchical simplicial meshes and efficient neighbor finding in arbitrary dimensions. International Journal of Computational Geometry & Applications 17, 06 (2007), 595–631.
  3. Polygon Mesh Processing. AK Peters / CRC Press. 250 pages. https://hal.inria.fr/inria-00538098
  4. Eric Bruneton and Fabrice Neyret. 2008. Precomputed Atmospheric Scattering. In Proceedings of the Nineteenth Eurographics Conference on Rendering (Sarajevo, Bosnia and Herzegovina) (EGSR ’08). Eurographics Association, Goslar, DEU, 1079–1086. https://doi.org/10.1111/j.1467-8659.2008.01245.x
  5. Christopher A. Burns and Warren A. Hunt. 2013. The Visibility Buffer: A Cache-Friendly Approach to Deferred Shading. Journal of Computer Graphics Techniques (JCGT) 2, 2 (12 August 2013), 55–69. http://jcgt.org/published/0002/02/04/
  6. Directed Edges–A Scalable Representation for Triangle Meshes. Journal of Graphics Tools 3, 4 (1998), 1–11. https://doi.org/10.1080/10867651.1998.10487494
  7. Experimenting With Concurrent Binary Trees for Large-scale Terrain Rendering. In ACM SIGGRAPH 2021 Courses. https://advances.realtimerendering.com/s2021/index.html
  8. ROAMing terrain: real-time optimally adapting meshes. In Proceedings. Visualization’97 (Cat. No. 97CB36155). IEEE, 81–88.
  9. Jonathan Dupuy. 2020. Concurrent Binary Trees (with Application to Longest Edge Bisection). Proc. ACM Comput. Graph. Interact. Tech. (2020). https://doi.org/10.1145/3406186
  10. J. Dupuy and K. Vanhoey. 2021. A Halfedge Refinement Rule for Parallel Catmull-Clark Subdivision. Computer Graphics Forum (2021). https://doi.org/10.1111/cgf.14381
  11. Epic. 2023. Water Meshing System and Surface Rendering in Unreal Engine 5. https://docs.unrealengine.com/5.0/en-US/water-meshing-system-and-surface-rendering-in-unreal-engine/
  12. Stephan Etienne. 2023. ELarge-Scale Terrain Rendering in Call of Duty. In ACM SIGGRAPH 2021 Courses. https://advances.realtimerendering.com/s2023/index.html#CODTerrain
  13. Right-triangulated irregular networks. Algorithmica 30, 2 (2001), 264–286.
  14. Interactive Animation of Ocean Waves. In Proceedings of the 2002 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (San Antonio, Texas) (SCA ’02). Association for Computing Machinery, New York, NY, USA, 161–166. https://doi.org/10.1145/545261.545288
  15. Adaptive 4-8 texture hierarchies. In IEEE Visualization 2004. IEEE, 219–226.
  16. A deep dive into Nanite virtualized geometry. In ACM SIGGRAPH 2021 Courses. https://advances.realtimerendering.com/s2021/index.html
  17. Lutz Kettner. 1999. Using generic programming for designing a data structure for polyhedral surfaces. Computational Geometry 13, 1 (1999), 65 – 90. https://doi.org/10.1016/S0925-7721(99)00007-3
  18. Real-time, continuous level of detail rendering of height fields. Technical Report. Georgia Institute of Technology.
  19. Peter Lindstrom and Valerio Pascucci. 2002. Terrain simplification simplified: A general framework for view-dependent out-of-core visualization. IEEE Transactions on Visualization and Computer graphics 8, 3 (2002), 239–254.
  20. Frank Losasso and Hugues Hoppe. 2004. Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids. ACM Trans. Graph. 23, 3 (aug 2004), 769–776. https://doi.org/10.1145/1015706.1015799
  21. Joseph M Maubach. 1995. Local bisection refinement for n-simplicial grids generated by reflection. SIAM Journal on Scientific Computing 16, 1 (1995), 210–227.
  22. William F Mitchell. 2016. 30 years of newest vertex bisection. In AIP Conference Proceedings, Vol. 1738. AIP Publishing.
  23. Can Özturan. 1996. Worst Case Complexity of Parallel Triangular Mesh Refinement by Longest Edge Bisection. Technical Report. Institute for Computer Applications in Science and Engineering.
  24. M Cecilia Rivara. 1984. Algorithms for refining triangular grids suitable for adaptive and multigrid techniques. International journal for numerical methods in Engineering 20, 4 (1984), 745–756.
  25. Jerry Tessendorf et al. 2001. Simulating ocean water. SIGGRAPH Course notes (2001), 5.
  26. Luiz Velho. 2000. Semi-regular 4-8 refinement and box spline surfaces. In Proceedings 13th Brazilian Symposium on Computer Graphics and Image Processing (Cat. No. PR00878). IEEE, 131–138.
  27. Luiz Velho and Denis Zorin. 2001. 4–8 Subdivision. Computer Aided Geometric Design 18, 5 (2001), 397–427.
  28. K. Weiler. 1985. Edge-Based Data Structures for Solid Modeling in Curved-Surface Environments. IEEE Computer Graphics and Applications 5, 1 (1985), 21–40. https://doi.org/10.1109/MCG.1985.276271
  29. Kenneth Weiss. 2011. Diamond-based models for scientific visualization. Ph. D. Dissertation.
  30. Kenneth Weiss and Leila De Floriani. 2011. Simplex and diamond hierarchies: Models and applications. In Computer Graphics Forum, Vol. 30. Wiley Online Library, 2127–2155.
  31. GPU algorithms for diamond-based multiresolution terrain processing. In Eurographics Symposium on Parallel Graphics and Visualization. 10–11.

Summary

  • The paper introduces a GPU-friendly Concurrent Binary Tree for adaptive terrain tessellation that extends to arbitrary polygon meshes.
  • It details a novel memory pool management approach decoupling binary tree capacity from subdivision depth, enabling fast dynamic updates.
  • Benchmark tests show real-time rendering performance with centimeter-level detail on mid-range GPUs for large-scale environments.

Concurrent Binary Trees for Large-Scale Game Components

The paper presents a GPU-friendly data structure termed Concurrent Binary Tree (CBT) to handle large-scale game components with a focus on adaptive terrain tessellation. The structure is noteworthy for its capability to handle bisection-based terrain tessellation, expanding its utility beyond square domains to arbitrary polygon meshes, and enabling high-performance rendering on mid-range GPUs.

Key Contributions

The paper's notable contributions can be structured into two primary aspects:

  1. Adaptive Triangulations for Arbitrary Polygon Meshes: The paper extends CBTs to work with arbitrary polygon meshes rather than being limited to square domains. This is achieved by mapping a triangular subdivision primitive, referred to as a "bisector," to each halfedge of the input mesh. These bisectors are then subdivided adaptively to produce conforming triangulations based purely on halfedge operators. The paper's approach ensures the maintenance of a valid initialization, resulting in a simple yet effective algorithm that preserves the topology of the input mesh. This makes it well suited for animated assets.
  2. Memory Pool Management: CBTs are re-purposed as a memory pool manager, moving away from the original model that implicitly encoded the triangulation. By decoupling the CBT's capacity from the maximum subdivision depth, detailed and large-scale adaptive tessellations can be managed effectively. This transformation enables dynamic memory management using shared GPU memory, resulting in real-time evaluation of adaptive triangulations.

Algorithmic Details

The adaptive triangulation method is built on the principles of halfedge meshes and bi-sectional triangulation, reminiscent of the ROAM algorithm, but with enhancements that make it suitable for parallel GPU execution.

  • Initialization: Root bisectors are mapped to halfedges of the input mesh, ensuring each halfedge corresponds to a unique bisector.
  • Subdivision and Decimation: Through recursive refinement rules and subdivision matrices, bisectors are adaptively refined or decimated. This process ensures topologically conforming triangulations at all times.
  • Neighbor Management: The algorithm updates neighbor pointers during refinement and decimation, maintaining consistency across bisectors.

GPU Implementation

The GPU implementation leverages a multi-step pipeline for incremental updates, ensuring efficient memory management through concurrent operations. The steps involve:

  1. Memory Allocation: Efficiently managing memory allocations using atomic operations.
  2. Command Generation: Deciding refinement or decimation commands for bisectors based on screen-space criteria.
  3. Execution of Commands: Parallel execution of commands ensuring minimum overhead.
  4. Neighbor Updates: Safeguarding topological coherence by updating neighbor pointers.

Performance and Results

The method has been validated using diverse large-scale game components including an Earth-sized water system, a Moon terrain using elevation data from NASA, and a complex mesh asset. The results demonstrated the method's capability to render planetary-scale geometries with centimeter-level detail on mid-range GPUs with an average update time of 0.1 ms and rendering performance fitting within real-time constraints.

Comparative Analysis

Compared to the original CBT design, the proposed approach demonstrates marked improvements in depth capabilities and memory efficiency. The decoupling of CBT depth from triangulation depth mitigates excessive memory use and computational overhead. This is crucial for planetary-scale environments requiring deep adaptive subdivisions.

Implications and Future Work

The practical implications are evident in the enhanced rendering capabilities for large-scale terrains and other game components. Theoretically, this work opens avenues for further optimization in dynamic memory management and adaptive mesh refinement on GPUs.

Future research could focus on:

  • Enhanced Precision Management: Exploring quantization techniques to replace double precision without impacting the visual fidelity.
  • Application to Other Domains: Adapting these principles to other large-scale scientific simulations and real-time data visualization tasks.
  • Scalable Implementations: Investigating the scalability of this approach on distributed systems for even larger environments or higher precision requirements.

In conclusion, this paper presents a robust, adaptable, and efficient system for managing large-scale adaptive triangulation on GPUs, with significant practical applications in modern game development and other real-time rendering domains.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We found no open problems mentioned in this paper.

Authors (2)

Collections

Sign up for free to add this paper to one or more collections.

Tweets

Sign up for free to view the 3 tweets with 619 likes about this paper.