Exercise 5 |
Modified: |
Download Nate Robin's tutorial. Run the projection application to get a feel for the visual effect of varying parameters.
The camera analogy has four parts:
The following program illustrates each.
| #include <GL/glut.h> void reshape(int w, int h) { glViewport(0,0,(GLsizei)w, (GLsizei)h); // Viewport transformation glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-1.0,1.0,-1.0,1.0,1.5,20.0); // Projection tranformation glMatrixMode(GL_MODELVIEW); } void display() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,1.0,1.0); glLoadIdentity(); gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0); // Viewing transformation glScalef(1.0,2.0,1.0); // Modeling transformation glutWireCube(1.0); glFlush(); } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB ); glutInitWindowSize(500, 500); glutInitWindowPosition(100,100); glutCreateWindow("cube"); glClearColor(0.0,0.0,0.0,0.0); glShadeModel(GL_FLAT); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMainLoop(); } |