Refactored a bit with mind to support runtime shader reloading but isn't working yet.
Support toggling between look modes.