#include <GL/glut.h> /* Header fuer OpenGl utility toolkit */
#include <stdlib.h> /* Header fuer C-Library */
void init(void) { /* Initialisierung */
glClearColor(0.0, 0.0, 1.0, 0.0); /* setze Blau als Hintergrundfarbe */
glMatrixMode(GL_PROJECTION); /* ab jetzt: Projektionsmatrix */
glLoadIdentity(); /* lade Einheitsmatrix */
glFrustum(-2,2,-1.5,1.5,2,20); /* left,right,bottom,top,near,far */
}
void display(void){ /* Prozedur zum Zeichnen */
glClear(GL_COLOR_BUFFER_BIT); /* alle Pixel zurecksetzen */
glMatrixMode(GL_MODELVIEW); /* ab jetzt: Modellierungsmatrix */
glColor3f(1.0, 1.0, 0.0); /* Farbe gelb */
glLoadIdentity(); /* Einheitsmatrix */
/*
gluLookAt(0.0, 1.0, 5.0, Kamera-Standpunkt */
/* 0.0, 0.0, 0.0, Kamera-Fokussierpunkt */
/* 0.0, 1.0, 0.0); Up-Vektor */
glTranslatef(0.0,0.0,-5.0); /* verschiebe 5 Einheiten nach hinten */
glScalef(1.0, 1.5, 1.0); /* Skalierung in 3 Dimensionen */
glRotatef(30.0, 0.0, 1.0, 0.0); /* rotiere 30 Grad um y-Achse */
glutWireCube(2.0); /* Drahtgitterwuerfel */
glFlush(); /* direkt ausgeben */
}
int main (int argc, char ** argv) { /* Hauptprogramm */
glutInit(&argc, argv); /* initialisiere GLUT */
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); /* single buffer, true color */
glutInitWindowSize(800, 600); /* initiale Fenstergroesse */
glutInitWindowPosition(112,84); /* initiale Fensterposition */
glutCreateWindow("wire-cube"); /* Fenster mit Aufschrift */
init(); /* rufe init auf */
glutDisplayFunc(display); /* registriere display */
glutMainLoop(); /* beginne Event-Schleife */
return 0; /* ISO C verlangt Rueckgabe */
}