Transformations are used both by the applications programmer to move and orient objects (either statically or dynamically) and by OpenGL to implement the viewing pipeline. Three transformations (model-view, perspective, texture) are part of the state. Their matrices can be set by application programs but the operations are carried out within the viewing pipeline. | Transformations An Interactive Introduction to OpenGL Programming 1 Transformations in OpenGL Modeling Viewing orient camera projection Animation Map to screen 2 An Interactive Introduction to OpenGL Programming 2 Transformations are used both by the applications programmer to move and orient objects (either statically or dynamically) and by OpenGL to implement the viewing pipeline. Three transformations (model-view, perspective, texture) are part of the state. Their matrices can be set by application programs but the operations are carried out within the viewing pipeline. Camera Analogy 3D is just like taking a photograph (lots of photographs!) 3 camera tripod model viewing volume An Interactive Introduction to OpenGL Programming 3 This model has become know as the synthetic camera model. Note that both the objects to be viewed and the camera are three-dimensional while the resulting image is two dimensional. Camera Analogy and Transformations Viewing transformations tripod–define . | Transformations An Interactive Introduction to OpenGL Programming 1 Transformations in OpenGL Modeling Viewing orient camera projection Animation Map to screen 2 An Interactive Introduction to OpenGL Programming 2 Transformations are used both by the applications programmer to move and orient objects (either statically or dynamically) and by OpenGL to implement the viewing pipeline. Three transformations (model-view, perspective, texture) are part of the state. Their matrices can be set by application programs but the operations are carried out within the viewing pipeline. Camera Analogy 3D is just like taking a photograph (lots of photographs!) 3 camera tripod model viewing volume An Interactive Introduction to OpenGL Programming 3 This model has become know as the synthetic camera model. Note that both the objects to be viewed and the camera are three-dimensional while the resulting image is two dimensional. Camera Analogy and Transformations Viewing transformations tripod–define position and orientation of the viewing volume in the world Modeling transformations moving the model Projection transformations adjust the lens of the camera Viewport transformations enlarge or reduce the physical photograph 4 An Interactive Introduction to OpenGL Programming 4 Note that human vision and a camera lens have cone-shaped viewing volumes. OpenGL (and almost all computer graphics APIs) describe a pyramid-shaped viewing volume. Therefore, the computer will “see” differently from the natural viewpoints, especially along the edges of viewing volumes. This is particularly pronounced for wide-angle “fish-eye” camera lenses. Coordinate Systems and Transformations Steps in Forming an Image Specify geometry (world coordinates) Specify camera (camera coordinates) Project (window coordinates) Map to viewport (screen coordinates) Each step uses transformations Every transformation is equivalent to a change in coordinate systems (frames) 5 An Interactive Introduction to OpenGL .