“Efficient GPU rendering of subdivision surfaces using adaptive quadtrees”

  • ©Wade Brainerd, Tim Foley, Manuel Kraemer, Henry Moreton, and Matthias Nießner

Conference:


Type:


Title:

    Efficient GPU rendering of subdivision surfaces using adaptive quadtrees

Session/Category Title: RENDERING & SIMULATION WITH GPUS


Presenter(s)/Author(s):


Moderator(s):



Abstract:


    We present a novel method for real-time rendering of subdivision surfaces whose goal is to make subdivision faces as easy to render as triangles, points, or lines. Our approach uses standard GPU tessellation hardware and processes each face of a base mesh independently, thus allowing an entire model to be rendered in a single pass. The key idea of our method is to subdivide the u, v domain of each face ahead of time, generating a quadtree structure, and then submit one tessellated primitive per input face. By traversing the quadtree for each post-tessellation vertex, we are able to accurately and efficiently evaluate the limit surface. Our method yields a more uniform tessellation of the surface, and faster rendering, as fewer primitives are submitted. We evaluate our method on a variety of assets, and realize performance that can be three times faster than state-of-the-art approaches. In addition, our streaming formulation makes it easier to integrate subdivision surfaces into applications and shader code written for polygonal models. We illustrate integration of our technique into a full-featured video game engine.

References:


    1. Andrews, J., and Baker, N. 2006. Xbox 360 System Architecture. IEEE Micro 26, 2, 25–37. Google ScholarDigital Library
    2. Bolz, J., and Schroder, P. 2002. Rapid evaluation of catmullclark subdivision surfaces. In Proceedings of the seventh international conference on 3D Web technology, ACM, 11–17. Google ScholarDigital Library
    3. Bommes, D., Lévy, B., Pietroni, N., Puppo, E., Silva, C., Tarini, M., and Zorin, D. 2013. Quad-mesh generation and processing: A survey. Comput. Graph. Forum 32, 6 (Sept.), 51–76. Google ScholarDigital Library
    4. Brainerd, W. 2016. Catmull-clark subdivision surfaces. In GPU Pro 7: Advanced Rendering Techniques, W. Engel, Ed. A K Peters/CRC Press, Boca Raton, FL, USA.Google Scholar
    5. Bunnell, M. 2005. Adaptive tessellation of subdivision surfaces with displacement mapping. GPU Gems 2, 109–122.Google Scholar
    6. Catmull, E., and Clark, J. 1978. Recursively Generated B-Spline Surfaces on Arbitrary Topology Meshes. Computer-Aided Design 10, 6, 350–355.Google ScholarCross Ref
    7. Cook, R. L., Carpenter, L., and Catmull, E. 1987. The Reyes Image Rendering Architecture. Computer Graphics (Proceedings of SIGGRAPH) 21, 4, 95–102. Google ScholarDigital Library
    8. DeRose, T., Kass, M., and Truong, T. 1998. Subdivision Surfaces in Character Animation. In Proceedings of SIGGRAPH 98, Annual Conference Series, ACM, 85–94. Google ScholarDigital Library
    9. Doo, D., and Sabin, M. 1978. Behaviour of recursive division surfaces near extraordinary points. Computer Aided Design 10, 6, 356–360.Google ScholarCross Ref
    10. Eppstein, D., Goodrich, M. T., Kim, E., and Tamstorf, R. 2008. Motorcycle graphs: Canonical quad mesh partitioning. In Proceedings of the Symposium on Geometry Processing, Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, SGP ’08, 1477–1486. Google ScholarDigital Library
    11. Forsey, D. R., and Bartels, R. H. 1988. Hierarchical b-spline refinement. In ACM SIGGRAPH Computer Graphics, vol. 22, ACM, 205–212. Google ScholarDigital Library
    12. He, L., Loop, C., and Schaefer, S. 2012. Improving the parameterization of approximate subdivision surfaces. In Computer Graphics Forum, vol. 31, Wiley Online Library, 2127–2134. Google ScholarDigital Library
    13. Hoppe, H., DeRose, T., Duchamp, T., Halstead, M., Jin, H., McDonald, J., Schweitzer, J., and Stuetzle, W. 1994. Piecewise Smooth Surface Reconstruction. In Proceedings of SIGGRAPH, ACM, 295–302. Google ScholarDigital Library
    14. Kobbelt, L. 1996. Interpolatory subdivision on open quadrilateral nets with arbitrary topology. In Computer Graphics Forum, 409–420.Google Scholar
    15. Kobbelt, L. 2000. √3-subdivision. In Proceedings of the 27th annual conference on Computer graphics and interactive techniques, ACM Press/Addison-Wesley Publishing Co., 103–112. Google ScholarDigital Library
    16. Kovacs, D., Mitchell, J., Drone, S., and Zorin, D. 2009. Real-time creased approximate subdivision surfaces. In Proceedings of the 2009 symposium on Interactive 3D graphics and games, ACM, 155–160. Google ScholarDigital Library
    17. Kovacs, D., Mitchell, J., Drone, S., and Zorin, D. 2010. Real-time creased approximate subdivision surfaces with displacements. IEEE Transactions on Visualization & Computer Graphics, 5, 742–751. Google ScholarDigital Library
    18. Loop, C., and Schaefer, S. 2008. Approximating Catmull-Clark subdivision surfaces with bicubic patches. ACM Transactions on Graphics (TOG) 27, 1, 8. Google ScholarDigital Library
    19. Loop, C., Schaefer, S., Ni, T., and Castaño, I. 2009. Approximating Subdivision Surfaces with Gregory Patches for Hardware Tessellation. ACM Trans. Graph. 28, 151:1–151:9. Google ScholarDigital Library
    20. Loop, C. 1987. Smooth Subdivision Surfaces Based On Triangles. Master’s thesis, University of Utah.Google Scholar
    21. Microsoft Corporation, 2009. Direct3D 11 Features. http://msdn.microsoft.com/en-us/library/ff476342(VS.85).aspx.Google Scholar
    22. Myles, A., Ni, T., and Peters, J. 2008. Fast parallel construction of smooth surfaces from meshes with tri/quad/pent facets. In Computer Graphics Forum, vol. 27, Wiley Online Library, 1365–1372. Google ScholarDigital Library
    23. Myles, A., Yeo, Y. I., and Peters, J. 2008. Gpu conversion of quad meshes to smooth surfaces. In Proceedings of the 2008 ACM symposium on Solid and physical modeling, ACM, 321–326. Google ScholarDigital Library
    24. Nasri, A. 1987. Polyhedral Subdivision Methods for Free-Form Surfaces. ACM Transactions on Graphics (TOG) 6, 1, 29–73. Google ScholarDigital Library
    25. Ni, T., Yeo, Y., Myles, A., Goel, V., and Peters, J. 2008. Gpu smoothing of quad meshes. In Shape Modeling and Applications, 2008. SMI 2008. IEEE International Conference on, IEEE, 3–9.Google Scholar
    26. Niessner, M., and Loop, C. 2013. Analytic displacement mapping using hardware tessellation. ACM Transactions on Graphics (TOG) 32, 3, 26. Google ScholarDigital Library
    27. Niessner, M., Loop, C., Meyer, M., and Derose, T. 2012. Feature-adaptive gpu rendering of catmull-clark subdivision surfaces. ACM Transactions on Graphics (TOG) 31, 1, 6. Google ScholarDigital Library
    28. Niessner, M., Loop, C. T., and Greiner, G. 2012. Efficient evaluation of semi-smooth creases in catmull-clark subdivision surfaces. In Eurographics (Short Papers), 41–44.Google Scholar
    29. Niessner, M., Keinert, B., Fisher, M., Stamminger, M., Loop, C., and Schäfer, H. 2015. Real-time rendering techniques with hardware tessellation. Computer Graphics Forum 35, 1, 113–137.Google ScholarDigital Library
    30. Patney, A., Ebeida, M. S., and Owens, J. D. 2009. Parallel view-dependent tessellation of catmull-clark subdivision surfaces. In HPG ’09: Proceedings of the Conference on High Performance Graphics 2009, ACM, New York, NY, USA, 99–108. Google ScholarDigital Library
    31. Pixar Animation Studios, 2005. The RenderMan Interface version 3.2.1. (https://renderman.pixar.com/products/rispec/-index.htm).Google Scholar
    32. Schäfer, H., Niessner, M., Keinert, B., Stamminger, M., and Loop, C. 2014. State of the art report on real-time rendering with hardware tessellation. In Eurographics 2014 – State of the Art Reports, EG, 93–117.Google Scholar
    33. Schäfer, H., Raab, J., Keinert, B., Meyer, M., Stamminger, M., and Niessner, M. 2015. Dynamic feature-adaptive subdivision. In Proceedings of the 19th Symposium on Interactive 3D Graphics and Games, ACM, 31–38. Google ScholarDigital Library
    34. Shiue, L.-J., Jones, I., and Peters, J. 2005. A realtime gpu subdivision kernel. ACM Trans. Graph. 24, 3, 1010–1015. Google ScholarDigital Library
    35. Stam, J. 1998. Exact evaluation of catmull-clark subdivision surfaces at arbitrary parameter values. In Proceedings of the 25th annual conference on Computer graphics and interactive techniques, ACM, 395–404. Google ScholarDigital Library
    36. Weber, T., Wimmer, M., and Owens, J. D. 2015. Parallel reyes-style adaptive subdivision with bounded memory usage. In Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. Google ScholarDigital Library


ACM Digital Library Publication: