First working version of the shader and hacked shader params setup.
The separation and orientation of the view seems completely wrong.
Also appear to either have gimbal lock(?!?) or I've cocked up the view orientation transformation somehow.
Lots of #pragma optimize'd methods for debugging.