Math for camera rotation based on the trackball metaphor. The rotation computed by an initial (@see startRotate) and subsequent (@see updateRotate) event points and can be applied to a camera via an explicit update (@see update).
Reference to the current point updating the camera modification.
Reference to the initial point starting the camera modification.
Copy of a camera for ongoing camera modifications based on previous/initial camera settings.
Current rotation matrix.
The camera that is to be modified in response to various events.
Initiate a new trackball rotation at a specific event position.
Position of the current event to start the trackball rotation at.
Update the trackball rotation w.r.t. a specific event position.
Position of the current event to continue/update the trackball rotation at.
Actually applies the trackball rotation to the given camera.