skip to main content
10.1145/2492045.2492051acmconferencesArticle/Chapter ViewAbstractPublication PageshpgConference Proceedingsconference-collections
research-article

Lazy incremental computation for efficient scene graph rendering

Published:19 July 2013Publication History

ABSTRACT

In order to provide a highly performant rendering system while maintaining a scene graph structure with a high level of abstraction, we introduce improved rendering caches, that can be updated incrementally without any scene graph traversal. The basis of this novel system is the use of a dependency graph, that can be synthesized from the scene graph and links all sources of changes to the affected parts of rendering caches. By using and extending concepts from incremental computation we minimize the computational overhead for performing the necessary updates due to changes in any inputs. This makes it possible to provide a high-level semantic scene graph, while retaining the opportunity to apply a number of known optimizations to the rendering caches even for dynamic scenes. Our evaluation shows that the resulting rendering system is highly competitive and provides good rendering performance for scenes ranging from completely static geometry all the way to completely dynamic geometry.

References

  1. Acar, U. A., Blelloch, G., Ley-Wild, R., Tangwongsan, K., and Turkoglu, D. 2010. Traceable data types for self-adjusting computation. In Proc. of the 2010 ACM SIGPLAN conference on Programming language design and implementation, ACM, New York, NY, USA, PLDI '10, 483--496. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Acar, U. A. 2005. Self-adjusting computation. PhD thesis, Pittsburgh, PA, USA. AAI3166271. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Autodesk, 2013. Dependency Graph (DG) nodes. http://docs.autodesk.com/MAYAUL/2014/ENU/Maya-API-Documentation/index.html. Accessed: 2013-06-01.Google ScholarGoogle Scholar
  4. Burckhardt, S., Leijen, D., Sadowski, C., Yi, J., and Ball, T. 2011. Two for the price of one: a model for parallel and incremental computation. In Proc. of the 2011 ACM international conference on Object oriented progr. systems languages and applications, ACM, New York, NY, USA, OOPSLA '11, 427--444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Burns, D., and Osfield, R. 2004. Open scene graph a: Introduction, b: Examples and applications. In Proc. of the IEEE Virtual Reality 2004, IEEE Computer Society, Washington, DC, USA, VR '04, 265--. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chen, Y., Dunfield, J., and Acar, U. A. 2012. Type-directed automatic incrementalization. In Proc. of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation, ACM, New York, NY, USA, PLDI '12, 299--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Durbin, J., Gossweiler, R., and Pausch, R. 1995. Amortizing 3d graphics optimization across multiple frames. In Proc. of the 8th annual ACM symposium on User interface and software technology, ACM, New York, NY, USA, UIST '95, 13--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ertl, M. A., and Gregg, D. 2003. The Structure and Performance of Efficient Interpreters. Journal of Instruction-Level Parallelism 5, 2003.Google ScholarGoogle Scholar
  9. Hammer, M. A., Acar, U. A., and Chen, Y. 2009. Ceal: a c-based language for self-adjusting computation. In Proc. of the 2009 ACM SIGPLAN conference on Programming language design and implementation, ACM, New York, NY, USA, PLDI '09, 25--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hudson, S. E. 1991. Incremental attribute evaluation: a flexible algorithm for lazy update. ACM Trans. Program. Lang. Syst. 13, 3 (July), 315--341. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Knuth, Donald E. 1968. Semantics of context-free languages. Mathematical systems theory 2, 127--145.Google ScholarGoogle Scholar
  12. Knuth, Donald E. 1998. The Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition). Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Laine, S., Saransaari, H., Kontkanen, J., Lehtinen, J., and Aila, T. 2007. Incremental Instant Radiosity for Real-Time Indirect Illumination. In Proceedings of the 18th Eurographics conference on Rendering Techniques, Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, EGSR'07, 277--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Microsoft, 2013. WPF Graphics Rendering Overview. http://msdn.microsoft.com/en-us/library/ms748373.aspx {Online; accessed May 31, 2013}.Google ScholarGoogle Scholar
  15. NVIDIA Corporation, 2013. SceniX --- NVIDIA Developer Zone. developer.nvidia.com/scenix {Online; accessed February 12, 2013}.Google ScholarGoogle Scholar
  16. Proebsting, T. A. 1995. Optimizing an ANSI C interpreter with superoperators. In Proc. of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of progr. languages, ACM, New York, NY, USA, POPL '95, 322--332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ragan-Kelley, J., Kilpatrick, C., Smith, B. W., Epps, D., Green, P., Hery, C., and Durand, F. 2007. The Lightspeed Automatic Interactive Lighting Preview System. ACM Trans. Graph. 26, 3 (July). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ramalingam, G., and Reps, T. 1993. A categorized bibliography on incremental computation. In Proc. of the 20th ACM SIGPLAN-SIGACT symposium on Principles of progr. languages, ACM, New York, NY, USA, POPL '93, 502--510. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Reiners, D., Voss, G., and Behr, J. 2002. Opensg: Basic concepts. In 1. OpenSG Symposium.Google ScholarGoogle Scholar
  20. Reps, T., Teitelbaum, T., and Demers, A. 1983. Incremental context-dependent analysis for language-based editors. ACM Trans. Program. Lang. Syst. 5, 3 (July), 449--477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Rohlf, J., and Helman, J. 1994. Iris performer: A high performance multiprocessing toolkit for real-time 3d graphics. In Proceedings of the 21st annual conference on Computer graphics and interactive techniques, ACM, New York, NY, USA, SIGGRAPH '94, 381--394. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Sitthi-amorn, P., Lawrence, J., Yang, L., Sander, P. V., Nehab, D., and Xi, J. 2008. Automated reprojection-based pixel shader optimization. ACM Trans. Graph. 27, 5 (Dec.), 127:1--127:11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sowizral, K., Rushforth, K., and Sowizral, H. 1997. The Java 3D API Specification, 1st ed. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Tobler, R. F. 2011. Separating semantics from rendering: a scene graph based architecture for graphics applications. Visual Computer 27, 6-8 (June), 687--695. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Wernecke, J. 1993. The Inventor Mentor: Programming Object-Oriented 3d Graphics with Open Inventor, Release 2, 1st ed. Addison-Wesley Longman Publ. Co., Inc., Boston, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Lazy incremental computation for efficient scene graph rendering

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        HPG '13: Proceedings of the 5th High-Performance Graphics Conference
        July 2013
        149 pages
        ISBN:9781450321358
        DOI:10.1145/2492045

        Copyright © 2013 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 19 July 2013

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        HPG '13 Paper Acceptance Rate15of44submissions,34%Overall Acceptance Rate15of44submissions,34%

        Upcoming Conference

        HPG '24
        High-Performance Graphics
        July 26 - 28, 2024
        Denver , CO , USA

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader