Text & Motion Graphics Systems
 
There are two systems in play in the following demo:
* A scratch written mesh based text renderer.
* A 3D text motion graphic system that can sit on top of any such renderer.
* For those with the Unity3D web player installed: Original 180k Demo
Technical Information:
 
I wrote the underlying renderer when it became apparent that our existing system had become untenable from a feature management standpoint.  It had been written with building a mesh as it's center piece, which lead to a series of understandable engineering choices - which ultimately resulted in code gridlock.  The solution was to re-envision the system around it's core function of text layout, creating a more robust glyph concept, and then build a mesh at the end after all layout work was finished.  The result is a system easily converted to any final rendering pipeline - be it bitmap, vector, or even fully modeled glyphs.
 
The motion graphics text system is an independent entity.  With minimal adaptation it could be set on top of any quad based text rendering system, by simply changing where it looks for the text string, and expected vert order.  Each individual effect is a relatively tiny block of modular code, that makes use of a central set of manipulators to do all the heavy lifting.  This makes new filters quick to write, and the entire system easily adapted to new other rendering pipelines by simply re-writing the manipulators to accommodate different data types.
Menu Transition System
 
One of my last side projects with Glu was to produce a more flexible general purpose transition system.  The existing system tried to accomplish everything in a single module, which made extending it problematic.  Additionally all timing was handled manually on each element - this made adjusting complex transitions time consuming.
 
My solution was to write a new system that existed as a set of modules all inheriting from the same base class, which had concepts of start, stand, stop, beginning, and end, as well as an open delegate for OnDone events.  Transitions (A to B to C), Continuous Animations (Spin, Bounce, Wobble), and Sequencers that controlled lists of such individual components were all interchangeable.  The interchangeability was particularly key for the Sequencer, as sequences could be placed within sequences.
Procedural Menu (2010)
 
Prototype for a procedurally animated menu from canceled project.  This is output from Maya, and was written in MEL Script, then later converted to C++ by another coder.  Our engineering department said this couldn't be done, and the client informed me that their engineering department had told them the same.
UI Systems
Published:

UI Systems

Various Procedural Animation and UI Systems

Published:

Creative Fields