Introduction to OpenGL Pipeline From Programmer View Tong-Yee Lee
vertexvertex Modelview Matrix Projection Matrix Perspective Division Viewport Transform Modelview Projection object eye clip normalized device window OpenGL Transformation Pipeline glTranslate{fd}( x, y, z ) glRotate{fd}( angle, x, y, z ) glScale{fd}( x, y, z )
3D Transformations
OpenGL transformation Matrices
vertexvertex Modelview Matrix Projection Matrix Perspective Division Viewport Transform Modelview Projection object eye clip normalized device window OpenGL Transformation Pipeline gluLookAt( eye x, eye y, eye z, aim x, aim y, aim z, up x, up y, up z ) tripod
Changes of Coordinate System World coordinate system Camera (eye) coordinate system
vertexvertex Modelview Matrix Projection Matrix Perspective Division Viewport Transform Modelview Projection object eye clip normalized device window OpenGL Transformation Pipeline model viewing volume Perspective projection Orthographic parallel projection
Perspective projection gluPerspective( fovy, aspect, zNear, zFar ) glFrustum ( left, right, bottom, top, zNear, zFar ) Orthographic parallel projection glOrtho( left, right, bottom, top, zNear, zFar ) gluOrtho2D( left, right, bottom, top )
vertexvertex Modelview Matrix Projection Matrix Perspective Division Viewport Transform Modelview Projection object eye clip normalized device window glViewport( 0, 0, (GLsizei) w, (GLsizei) h ); w h
glMaterialfv( face, property, value ); glLightfv( light, property, value ); glNormal3f( x, y, z )