Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2370919.2370930acmconferencesArticle/Chapter ViewAbstractPublication PagessiggraphConference Proceedingsconference-collections
research-article

LibEE: a multithreaded dependency graph for character animation

Published: 04 August 2012 Publication History

Abstract

Computer-generated characters are central to an animated feature film and need to deliver appealing, believable on-screen performances. As such, character rigs continue to expand in complexity (for example higher fidelity skin, clothing and hair). This leads to growing system demands as animators wish to interact with complex rigs at interactive frame rates. Since single threaded CPU performance is no longer increasing at previous rates, we must find alternative means to improve rig performance. This paper focuses on multithreading our animation software and, in particular, our character setups to take advantage of multicore CPU architectures.
We have developed a new dependency graph (DG) evaluation engine called LibEE for our next generation in-house animation tool. LibEE is designed from the ground up to be very heavily multithreaded, and is thus able to deliver extremely high performance characters for use on computer-animated feature films.
A heavily multithreaded graph requires not just that individual expensive nodes in the graph are internally threaded, but that multiple nodes in the graph can evaluate concurrently. This raises numerous concerns. For example, how do we ensure the cores are used most effectively, how do we handle non-threadsafe code, and how do we provide profiling tools for production to ensure character graphs are optimized for parallel evaluation.
We present the motivation, design choices and implementation of the graph engine itself, and then discuss production adoption considerations.

References

[1]
Budimlic, Z., Burke, M. G., Cavé, V., Knobe, K., Lowney, G., Newton, R., Palsberg, J., Peixotto, D. M., Sarkar, V., Schlimbach, F., and Tasirlar, S. 2010. Concurrent collections. Scientific Programming 18, 3--4, 203--217.
[2]
Enderton, E., and Wexler, D. 2011. The workflow scale: Why 5x faster might not be enough. In Computer Graphics International 2011.
[3]
Kry, P. G., James, D. L., and Pai, D. K. 2002. Eigenskin: Real time large deformation character skinning in hardware. In ACM SIGGRAPH Symposium on Computer Animation, 153--160.
[4]
Lewis, J. P., Cordner, M., and Fong, N. 2000. Pose space deformations: A unified approach to shape interpolation and skeleton-driven deformation. In Proceedings of ACM SIGGRAPH 2000, Computer Graphics Proceedings, Annual Conference Series, 165--172.
[5]
McLaughlin, T., Cutler, L., and Coleman, D. 2011. Character rigging, deformations, and simulations in film and game production. In ACM SIGGRAPH 2011 Courses, ACM, New York, NY, USA, SIGGRAPH '11, 5:1--5:18.
[6]
Meyer, M., and Anderson, J. 2007. Key point subspace acceleration and soft caching. In ACM SIGGRAPH 2007 papers, ACM, New York, NY, USA, SIGGRAPH '07.
[7]
Osterburg, S., Dirksen, N., and Vogt, R. 2008. Art-directable dynamic-hair shells in madagascar: Escape 2 africa. In ACM SIGGRAPH 2008 talks, ACM, New York, NY, USA, SIGGRAPH '08, 48:1--48:1.
[8]
Reinders, J. 2007. Intel Threading Building Blocks. O'Reilly.
[9]
Shi, X., Zhou, K., Tong, Y., Desbrun, M., Bao, H., and Guo, B. 2008. Example-based dynamic skinning in real time. In ACM SIGGRAPH 2008 papers, ACM, New York, NY, USA, SIGGRAPH '08, 29:1--29:8.
[10]
Sutter, H. 2005. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb's Journal 30, 3.
[11]
Wang, X. C., and Phillips, C. 2002. Multi-weight enveloping: Least-squares approximation techniques for skin animation. In ACM SIGGRAPH Symposium on Computer Animation, 129--138.

Cited By

View all
  1. LibEE: a multithreaded dependency graph for character animation

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    DigiPro '12: Proceedings of the Digital Production Symposium
    August 2012
    80 pages
    ISBN:9781450316491
    DOI:10.1145/2370919
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 04 August 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article

    Conference

    DigiPro '12
    Sponsor:
    DigiPro '12: The Digital Production Symposium
    August 4, 2012
    California, Glendale

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)9
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 01 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media