| LINE | PROGRAMS |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 55 57 58 |
//===============================================// // Title : Transformation in OpenGL // Programmer : V R E M P I R E // Date : Thursday, July 12, 2001 //===============================================// #include <stdio.h> #include <gl/glut.h> void Display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glColor3f(0.0, 1.0, 0.0); glPushMatrix(); glTranslatef(1.0, 0.0, 0.0); glBegin(GL_POLYGON); glVertex3f( 0.0, 0.0, 0.0); // V0 ( 0, 0, 0) glVertex3f( 1.0f, 0.0, 0.0); // V1 ( 1, 0, 0) glVertex3f( 1.0f, 1.0f, 0.0); // V2 ( 1, 1, 0) glVertex3f( 0.5f, 1.5f, 0.0); // V3 (0.5, 1.5, 0) glVertex3f( 0.0, 1.0f, 0.0); // V4 ( 0, 1, 0) glEnd(); glPopMatrix(); glutSwapBuffers(); } void Init(void) { glClearColor(0.0, 0.0, 0.0, 0.0); } void Resize(int width, int height) { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0, width/height, 0.1, 1000.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(400, 400); glutInitWindowPosition(200, 200); glutCreateWindow("Polygon in OpenGL"); Init(); glutDisplayFunc(Display); glutReshapeFunc(Resize); glutMainLoop(); return 0; } |