Move a bunch of stuff to subdirectories
Read uniforms from fragment shaders, too
Make sure to use float functions
Make xywz union members instead of functions
add quaternions
Enforce correct use of angles