Cache matrices where possible, use viewProjection and worldViewProjection in shaders.