Camera and OpenGL
- In OpenGL: no real notion of "camera"
-
- Unique viewpoint - cube \((x,y,z)\in[-1,1]^3\) - Normalized Device Coordinate
- Left-right/x, Bottom-up/y, Front-back/z (toward negative z)
- No perspective (displays (x,y) for the smallest z)
- Any camera effect (position, orientation, perspective)
-
- must be coded "manually" in the shader.
-
- All these effects can be represented as matrices.
-
-
- Affine transform - specific to a shape.
- Local object coordinates to world space.
-
-
- Rigid transform - position/orientation of the camera in the scene.
- World space to camera/view/eye space
-
-
- Perspective matrix - map frustum to normalized cube. (/or ortho projection)
- Camera space to Normalized Device Coordinate (clip/screen space)
-
- \(p = Projection \times \underbrace{View \times Model}_{ModelView} \times p_0\)