-- Update a camera's position based on its velocity and a time step
-- (in seconds).
update :: Double -> Camera -> Camera
update dt (Camera r t v u) = Camera r (t + v ^* realToFrac dt) v u
update :: Double -> Camera -> Camera
update dt (Camera r t v u) = Camera r (t + v ^* realToFrac dt) v u
update dt (Camera r t v u) = Camera r (t + v ^* realToFrac dt) v u