“ETER: Elastic Tessellation for Real-Time Pixel-Accurate Rendering of Large-Scale NURBS Models” by Xiong, Chen, Zhu, Zeng and Liu

  • ©Ruicheng Xiong, Cong Chen, Jiaming Zhu, Yajun Zeng, and Ligang Liu




    ETER: Elastic Tessellation for Real-Time Pixel-Accurate Rendering of Large-Scale NURBS Models

Session/Category Title: Real-time Rendering: Gotta Go Fast!




    We present ETER, an elastic tessellation framework for rendering large-scale NURBS models with pixel-accurate and crack-free quality at real-time frame rates. We propose a highly parallel adaptive tessellation algorithm to achieve pixel accuracy, measured by the screen space error between the exact surface and its triangulation. To resolve a bottleneck in NURBS rendering, we present a novel evaluation method based on uniform sampling grids and accelerated by GPU Tensor Cores. Compared to evaluation based on hardware tessellation, our method has achieved a significant speedup of 2.9 to 16.2 times depending on the degrees of the patches. We develop an efficient crack-filling algorithm based on conservative rasterization and visibility buffer to fill the tessellation-induced cracks while greatly reducing the jagged effect introduced by conservative rasterization. We integrate all our novel algorithms, implemented in CUDA, into a GPU NURBS rendering pipeline based on Mesh Shaders and hybrid software/hardware rasterization. Our performance data on a commodity GPU show that the rendering pipeline based on ETER is capable of rendering up to 3.7 million patches (0.25 billion tessellated triangles) in real-time (30FPS). With its advantages in performance, scalability, and visual quality in rendering large-scale NURBS models, a real-time tessellation solution based on ETER can be a powerful alternative or even a potential replacement for the existing pre-tessellation solution in CAD systems.


    1. Jeremy Appleyard and Scott Yokim. 2017. Programming Tensor Cores in CUDA 9. Retrieved October 17, 2017 from https://developer.nvidia.com/blog/programming-tensor-cores-cuda-9/
    2. Louis Bavoil, Miguel Sainz, and Rouslan Dimitrov. 2008. Image-Space Horizon-Based Ambient Occlusion. In ACM SIGGRAPH 2008 Talks (Los Angeles, California) (SIGGRAPH ’08). Association for Computing Machinery, New York, NY, USA, Article 22, 1 pages.
    3. Robert M. Blomgren and David J. Kasik. 2002. Early Investigation, Formulation and Use of NURBS at Boeing. SIGGRAPH Comput. Graph. 36, 3 (aug 2002), 27–32.
    4. Christoph Buchenau and Michael Guthe. 2021. Real-Time Curvature-aware Re-Parametrization and Tessellation of Bézier Surfaces. In Vision, Modeling, and Visualization. The Eurographics Association.
    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 (2013), 55–69.
    6. Frédéric Claux, Loïc Barthe, David Vanderhaeghe, Jean-Pierre Jessel, and Mathias Paulin. 2014. Crack-free rendering of dynamically tesselated B-rep models. Computer Graphics Forum 33, 2 (2014), 263–272.
    7. Raquel Concheiro, Margarita Amor, Emilio J. Padrón, and Michael Doggett. 2014. Interactive rendering of NURBS surfaces. Computer-Aided Design 56 (2014), 34–44.
    8. Robert L. Cook, Loren Carpenter, and Edwin Catmull. 1987. The Reyes Image Rendering Architecture. In Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’87). Association for Computing Machinery, New York, NY, USA, 95–102.
    9. Christopher Dyken, Martin Reimers, and Johan Seland. 2009. Semi-Uniform Adaptive Patch Tessellation. Computer Graphics Forum 28, 8 (2009), 2255–2263.
    10. Christian Eisenacher, Quirin Meyer, and Charles Loop. 2009. Real-Time View-Dependent Rendering of Parametric Surfaces. In Proceedings of the 2009 Symposium on Interactive 3D Graphics and Games. Association for Computing Machinery, New York, NY, USA, 137–143.
    11. Randima Fernando. 2005. Percentage-Closer Soft Shadows. In ACM SIGGRAPH 2005 Sketches (Los Angeles, California) (SIGGRAPH ’05). Association for Computing Machinery, New York, NY, USA, 35–es.
    12. Daniel Filip, Robert Magedson, and Robert Markot. 1986. Surface algorithms using bounds on derivatives. Computer Aided Geometric Design 3, 4 (1986), 295–311.
    13. Stepan Yu. Gatilov. 2016. Vectorizing NURBS surface evaluation with basis functions in power basis. Computer-Aided Design 73 (2016), 26–35.
    14. Michael Guthe, Aákos Balázs, and Reinhard Klein. 2005. GPU-Based Trimming and Tessellation of NURBS and T-Spline Surfaces. ACM Trans. Graph. 24, 3 (jul 2005), 1016–1023.
    15. Ulrich Haar and Sebastian Aaltonen. 2015. Gpu-driven rendering pipelines. Lecturer on SIGGRAPH (2015).
    16. Jon Hjelmervik. 2014. Direct pixel-accurate rendering of smooth surfaces. In Mathematical Methods for Curves and Surfaces. Springer Berlin Heidelberg, Berlin, Heidelberg, 238–247.
    17. Jorge Jimenez, Jose I. Echevarria, Tiago Sousa, and Diego Gutierrez. 2012. SMAA: Enhanced Subpixel Morphological Antialiasing. Comput. Graph. Forum 31, 2pt1 (may 2012), 355–364.
    18. Brian Karis, Rune Stubbe, and Graham Wihlidal. 2021. A Deep Dive into Nanite Virtualized Geometry. In ACM SIGGRAPH, Vol. 21.
    19. Adarsh Krishnamurthy, Rahul Khardekar, and Sara McMains. 2009. Optimized GPU evaluation of arbitrary degree NURBS curves and surfaces. Computer-Aided Design 41, 12 (2009), 971–980.
    20. Christoph Kubisch. 2018. Introduction to Turing Mesh Shaders. Retrieved September 17, 2018 from https://developer.nvidia.com/blog/introduction-turing-mesh-shaders/
    21. Subodh Kumar, Dinesh Manocha, and Anselmo Lastra. 1995. Interactive Display of Large-Scale NURBS Models (I3D ’95). Association for Computing Machinery, New York, NY, USA, 51–ff.
    22. Samuli Laine and Tero Karras. 2011. High-Performance Software Rasterization on GPUs. In Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics (Vancouver, British Columbia, Canada) (HPG ’11). Association for Computing Machinery, New York, NY, USA, 79–88.
    23. Fang Liu, Meng-Cheng Huang, Xue-Hui Liu, and En-Hua Wu. 2010. FreePipe: A Programmable Parallel Rendering Architecture for Efficient Multi-Fragment Effects. In Proceedings of the 2010 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (Washington, D.C.) (I3D ’10). Association for Computing Machinery, New York, NY, USA, 75–82.
    24. Stephen Mann and Tony DeRose. 1995. Computing values and derivatives of Bézier and B-spline tensor products. Computer Aided Geometric Design 12, 1 (1995), 107–110.
    25. McNeel. 2020. Rhino Mesh Settings – Detailed Info. Retrieved August 14, 2020 from https://wiki.mcneel.com/rhino/meshfaqdetails
    26. M. Nießner, B. Keinert, M. Fisher, M. Stamminger, C. Loop, and H. Schäfer. 2016. Real-Time Rendering Techniques with Hardware Tessellation. Computer Graphics Forum 35, 1 (2016), 113–137.
    27. Hiroyuki Ootomo and Rio Yokota. 2022. Recovering single precision accuracy from Tensor Cores while surpassing the FP32 theoretical peak performance. The International Journal of High Performance Computing Applications 36, 4 (2022), 475–491.
    28. Les Piegl and Wayne Tiller. 1997. The NURBS Book (2nd Ed.). Springer-Verlag, Berlin, Heidelberg.
    29. David F Rogers. 2001. An introduction to NURBS: with historical perspective. Morgan Kaufmann.
    30. Andre Schollmeyer and Bernd Froehlich. 2018. Efficient and anti-aliased trimming for rendering large NURBS models. IEEE Transactions on Visualization and Computer Graphics 25, 3 (2018), 1489–1498.
    31. Andre Schollmeyer and Bernd Fröhlich. 2009. Direct Trimming of NURBS Surfaces on the GPU. ACM Trans. Graph. 28, 3 (jul 2009).
    32. Michael Schwarz and Marc Stamminger. 2009. Fast GPU-based Adaptive Tessellation with CUDA. Computer Graphics Forum 28, 2 (2009), 365–374.
    33. Leon A. Shirmun and Salim S. Abi-Ezzi. 1993. The Cone of Normals Technique for Fast Processing of Curved Patches. Computer Graphics Forum 12, 3 (1993), 261–272.
    34. Werner Strathaus. 2008. Building a Sportscar Exterior to Class-A Surfacing Standards. Autodesk, Inc., San Rafael, CA 94903, USA.
    35. Wei Sun, Ang Li, Tong Geng, Sander Stuijk, and Henk Corporaal. 2022. Dissecting Tensor Cores via Microbenchmarks: Latency, Throughput and Numerical Behaviors. arXiv preprint arXiv:2206.02874 (2022).
    36. Dassault Systèmes. 2023. SOLIDWORKS Help. https://help.solidworks.com/2023/English/SolidWorks/sldworks/HIDD_OPTIONS_IMAGE_QUALITY_display.htm?verRedirect=1
    37. Young In Yeo, Lihan Bin, and Jörg Peters. 2012. Efficient Pixel-Accurate Rendering of Curved Surfaces. In Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. Association for Computing Machinery, New York, NY, USA, 165–174.
    38. Jianmin Zheng and Thomas W. Sederberg. 2000. Estimating Tessellation Parameter Intervals for Rational Curves and Surfaces. ACM Trans. Graph. 19, 1 (jan 2000), 56–77.

ACM Digital Library Publication:

Overview Page: