added the ability for a type to override how it gets written into glsl
when used as a uniform