Implement shader templating engine
This should have a programmatic definition of the language constructs, much like the way reflection is exposed in Java.
Ideally, it would be nice to have it support GLSL version targets, and generate appropriate output (e.g. in/out vs. varying, etc.) and possible do optimizations like loop unrolling.