3.3 An Abstract Rendering API 177
The function SetCamera tells the renderer to use the specified camera for drawing.
This call establishes two-way communication between the renderer and the camera—
the renderer has a pointer to the camera and the camera in turn has a pointer to
the renderer. When the camera is moved, reoriented, or has its frustum parameters
changed, the renderer is automatically notified via the functions
OnFrameChange, On-
FrustumChange
, and OnViewportChange. In Wild Magic 3, the derived-class renderers
had to implement all three of these, making calls to the graphics APIs to update the
homogeneous matrices associated with the camera coordinate system, camera view-
ing model, and viewport. The observations made in Section 2.8 allow ...