|

Einführung in OpenGL - Teil 9 - by Delax
Jetzt, wo wir die Depth Functions kennen gelernt haben, können wir anfangen richtige 3D Objekte zu bauen. Dies geht eigentlich ganz einfach. Ein Objekt besteht seinerseits aus einer Anzahl von Primitives. Wir nutzen also Drei-, Vier- und Vielecke, um ein 3D Objekt zusammen zu setzen.
Nehmen wir einmal eine Pyramide. Sie hat 4 Dreiecke als Seitenwände und ein Viereck als Unterseite. Und das setzen wir einfach nur um.
glBegin( GL_TRIANGLES );
glColor3f(1.0,0.0,0.0);
glVertex3f( 0.0, 1.0, 0.0);
glVertex3f(-1.0,-1.0, 1.0);
glVertex3f( 1.0,-1.0, 1.0);
glColor3f(0.0,1.0,0.0);
glVertex3f( 0.0, 1.0, 0.0);
glVertex3f( 1.0,-1.0, 1.0);
glVertex3f( 1.0,-1.0, -1.0);
glColor3f(0.0,0.0,1.0);
glVertex3f( 0.0, 1.0, 0.0);
glVertex3f( 1.0,-1.0, -1.0);
glVertex3f(-1.0,-1.0, -1.0);
glColor3f(1.0,1.0,0.0);
glVertex3f( 0.0, 1.0, 0.0);
glVertex3f(-1.0,-1.0,-1.0);
glVertex3f(-1.0,-1.0, 1.0);
glEnd();
glBegin( GL_QUADS );
glColor3f(1.0,0.0,1.0);
glVertex3f( 1.0,-1.0,-1.0);
glVertex3f( 1.0,-1.0, 1.0);
glVertex3f(-1.0,-1.0, 1.0);
glVertex3f(-1.0,-1.0,-1.0);
glEnd();
Hier der komplette Source zum Beispiel.
Wirklich nicht besonders schwer, oder? Die allermeißten Objekte lassen sich aus mehr oder weniger vielen Primitives zusammenbauen. Wichtig ist wie gesagt darauf zu achten wohin die Fläche zeigt und sie dann in entsprechender Reiehnfolge (im oder gegen den Uhrzeigersinn) zu zeichnen. Beispielsweise zeichnen wir die Rückseite der Pyramide im Uhrzeigersinn, was daran liegt, das wir sie ja von hinten sehen.
Versucht einfach mal selbst einen Würfel oder ähnliche Objekte zu bauen. Vielleicht sogar eine Art Strichmännchen aus Quads? Denkt euch was aus und baut es. So bekommt ihr ein Gefühl für den 3D Raum und wie man Objekte zusammensetzt.
Delax/ Sundancer Inc.
[delax@sundancerinc.de]
Back to previous page
|