C++Now 2014 has ended
Please visit the C++Now website.
Back To Schedule
Tuesday, May 13 • 2:30pm - 4:00pm
Generic Programming of Generic Spaces: Compile-Time Geometric Algebra with C++11

Log in to save this to your schedule, view media, leave feedback and see who's attending!

This hands-on graphics session will explore compile-time synthesis of n-dimensional geometries and spaces using a lightweight C++11 library called Versor, a case study in the strength of template meta-programming for generating combinatoric complexity.  Templates for constructing geometries (affine, projective, conformal, or experimental) are delineated at compile time through nimble use of variadic template programming and constant expressions.  In particular, we propose novel techniques for listing, sorting, and evaluating geometric algebras during compilation as part of a unique optimization strategy and a potentially new Boost library for n-dimensional computing.  

Discussion will be encouraged to help develop these techniques as we explore basic C++11 features to illustrate the logic of geometric algebra.   Both interactive and visual, we will examine the marriage of generic programming techniques with generic spatial computing, allowing for a dimensional fluidity of expression.  From 2D through to 4D and above, efficient implementations of concepts from group theory, vector, matrix, tensor and lie algebras can be tied to specific idioms of C++11. These function spaces have a wide range of applications in a diverse set of fields, from material science to quantum computation.  An example of videos created with this approach can be seen at vimeo.com/wolftype.  More information about Versor is available at versor.mat.ucsb.edu.


Pablo Colapinto

Head of Immersive, Nexus Studios
Pablo leads the development of next-generation XR spatial interactions, behaviors, experiences, games and narratives for innovation-led clients including Disney, Niantic, Google, Facebook, Samsung, MLB, NBA, T-Mobile, Verizon, and AT&T.  His background bridges filmmaking, immersive... Read More →

Tuesday May 13, 2014 2:30pm - 4:00pm MDT

Attendees (0)