Implemented revised version glid.
Now using what I like to call MIRT - Mildy Interesting Recursive Template
Also now have the shader type templated rahter than be a run tim thing