Use three matrices for vertex transformation.

- Model to World
- World to Camera
- Camera to Clip
Refactor
Update world to camera matrix every frame
Rotate camera around origin
Rotate and tilt camera (around origin) using arrow keys.