Hallo,
ich hab mir ne kleine Funktion geschrieben um mir nen 3dimensionalen Würfel zu animieren:
Ja das was dabei raus kommt ist im Anhang verlinkt
Als OpenGL einstellungen hab ich folgende definiert;
Könnt ihr mir sagen wo mein Fehler liegt?
Danke!
ich hab mir ne kleine Funktion geschrieben um mir nen 3dimensionalen Würfel zu animieren:
HTML:
public static void Quadrat(float d, float e, float f, float b)
{
glBegin(GL_QUADS);
//VORNE (wir schauen von vorne drauf, positive X achse nach rechts, positive Y achse nach oben, positive Z achse von uns weg)
glTexCoord2f(0, 0);
glVertex3f(-b+d, b+e, b+f); // LINKS OBEN
glTexCoord2f(1, 0);
glVertex3f(-b+d,-b+e, b+f); // LINKS UNTEN
glTexCoord2f(1, 1);
glVertex3f( b+d,-b+e, b+f); // RECHTS UNTEN
glTexCoord2f(0, 1);
glVertex3f( b+d, b+e, b+f); // RECHTS OBEN
// (Gegen den Uhrzeigersinn.)
//OBEN (wir schauen von oben drauf, positive X achse nach rechts, positive Y achse zu uns, positive Z achse nach oben)
glTexCoord2f(0, 0);
glVertex3f( b+d, b+e,-b+f); // RECHTS UNTEN
glTexCoord2f(1, 0);
glVertex3f(-b+d, b+e,-b+f); // LINKS UNTEN
glTexCoord2f(1, 1);
glVertex3f(-b+d, b+e, b+f); // LINKS OBEN
glTexCoord2f(0, 1);
glVertex3f( b+d, b+e, b+f); // RECHTS OBEN (der hat gefehlt)
// (Im Uhrzeigersinn.)
//LINKS (wir schauen von links drauf, positive X achse von uns weg, positive Y achse nach oben, positive Z achse nach links)
glTexCoord2f(0, 0);
glVertex3f( -b+d, b+e, b+f); // LINKS OBEN
glTexCoord2f(1, 0);
glVertex3f( -b+d, b+e,-b+f); // RECHTS OBEN
glTexCoord2f(1, 1);
glVertex3f( -b+d,-b+e,-b+f); // RECHTS UNTEN
glTexCoord2f(0, 1);
glVertex3f( -b+d,-b+e, b+f); // LINKS UNTEN
// (Im Uhrzeigersinn.)
//UNTEN (wir schauen von unten drauf, positive X achse nach rechts, positive Y achse von uns weg, positive Z achse nach unten)
glTexCoord2f(0, 0);
glVertex3f( b+d,-b+e, b+f); // RECHTS UNTEN
glTexCoord2f(1, 0);
glVertex3f( b+d,-b+e,-b+f); // RECHTS OBEN
glTexCoord2f(1, 1);
glVertex3f(-b+d,-b+e,-b+f); // LINKS OBEN
glTexCoord2f(0, 1);
glVertex3f(-b+d,-b+e, b+f); // LINKS UNTEN
// (Gegen den Uhrzeigersinn.)
//RECHTS (wir schauen von rechts drauf, positive X achse zu uns, positive Y achse nach oben, positive Z achse nach rechts)
glTexCoord2f(0, 0);
glVertex3f( b+d,-b+e, b+f); // RECHTS UNTEN
glTexCoord2f(1, 0);
glVertex3f( b+d,-b+e,-b+f); // LINKS UNTEN
glTexCoord2f(1, 1);
glVertex3f( b+d, b+e,-b+f); // LINKS OBEN
glTexCoord2f(0, 1);
glVertex3f( b+d, b+e, b+f); // RECHTS OBEN
// (Im Uhrzeigersinn.)
glEnd();
}
Ja das was dabei raus kommt ist im Anhang verlinkt
Als OpenGL einstellungen hab ich folgende definiert;
HTML:
glClear(GL_COLOR_BUFFER_BIT);
glClear(GL_DEPTH_BUFFER_BIT);
/* Set ortographic projection */
glEnable(GL_BLEND);
glEnable(GL_TEXTURE_2D);
glShadeModel(GL_SMOOTH);
glClearColor(0f, 0f, 0f, 0f);
glClearDepth(1.0);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90f, Display.getWidth()/Display.getHeight(), 0f, 100f);
Könnt ihr mir sagen wo mein Fehler liegt?
Danke!