private void aufgabe5()
{
Gl.glEnable(Gl.GL_DEPTH_TEST); //tiefenschaerfe, damit richtige Farbe dargestellt wird
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
//Polygon, welches zu spiegeln ist
Gl.glNewList(5, Gl.GL_COMPILE);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3f(-1.5f, 0.0f, 1.0f);
Gl.glVertex3f(-1.0f, -1.0f, 0.0f);
Gl.glVertex3f(0.0f, 0.5f, 0.0f);
Gl.glVertex3f(-1.0f, 1.0f, 0.0f);
Gl.glVertex3f(-1.5f, 2.0f, 1.0f);
Gl.glEnd();
Gl.glEndList();
//Spiegelebene (ACHTUNG ÜBERPRÜFEN!!!
Gl.glNewList(8, Gl.GL_COMPILE);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3f(0.25f, 1.75f, 1.0f);
Gl.glVertex3f(1.0f, 1.0f, 0.0f);
Gl.glVertex3f(0.75f, 1.25f, 0.0f);
Gl.glVertex3f(0.0f, 2.0f, 0.0f);
Gl.glVertex3f(-0.75f, 2.75f, 1.0f);
Gl.glEnd();
Gl.glEndList();
//ZEICHNEN
Gl.glPushMatrix();
//Körper der zu spiegeln ist
Gl.glColor3fv(blue);
Gl.glCallList(5);
//Koordinatensystem verschieben um die Spiegelebene in Z-Achse zu legen
Gl.glRotatef(45.0f, 0.0f, 0.0f, 1.0f);
Gl.glTranslatef(0.0f, -2.0f, 0.0f);
//Körper der gespiegelt wurde
Gl.glColor3fv(red);
Gl.glScalef(-1.0f, -1.0f, -1.0f);
Gl.glCallList(5);
//Koordinatensystem verschieben um die Spiegelebene wieder in Ursprungstand zu bringen
Gl.glRotatef(45.0f, 0.0f, 0.0f, -1.0f);
Gl.glTranslatef(0.0f, 2.0f, 0.0f);
//Spiegelebene
Gl.glColor3fv(white);
Gl.glCallList(8);
Gl.glPopMatrix();
}