Pose space deformation: a unified approach to shape interpolation and skeleton-driven deformation
Proceedings of the 27th annual conference on Computer graphics and interactive techniques
Multi-weight enveloping: least-squares approximation techniques for skin animation
Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on Computer animation
EigenSkin: real time large deformation character skinning in hardware
Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on Computer animation
Key Point Subspace Acceleration and soft caching
ACM SIGGRAPH 2007 papers
Example-based dynamic skinning in real time
ACM SIGGRAPH 2008 papers
Art-directable dynamic-hair shells in Madagascar: Escape 2 Africa
ACM SIGGRAPH 2008 talks
Intel threading building blocks
Intel threading building blocks
Scientific Programming - Exploring Languages for Expressing Medium to Massive On-Chip Parallelism
Character rigging, deformations, and simulations in film and game production
ACM SIGGRAPH 2011 Courses
Proceedings of the 18th International Conference on 3D Web Technology
Developing a unified pipeline with character
Proceedings of the Symposium on Digital Production
Hi-index | 0.00 |
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.