Als Mesh haben wir in unsere Mathe Bibliothek eine Menge von Vertices definiert. Hier definieren wir nun wie wir ein solches Mesh rendern.

Hier unser Eintrag für die scene.h

static void renderMesh(mesh m, matrix transform);

Wie Sie sehen definieren wir eine Funktion zum rendern, der wir ein Mesh und zusätzlich eine Matrix zur Transformation übergeben. Auf diese Weise können wir ein Mesh während es gerendert wird, beliebig im Raum platzieren, rotieren oder skalieren.

Da jeder Vertex sowohl eine Position als auch eine Farbe hat, können wir so beim erstellen des Meshes verschiedene Farben für die einzelnen Seiten definieren die dann hier gezeichnet werden.

static void renderMesh(mesh m, matrix transform)
{
    glPushMatrix();
    glMultMatrixf(&transform);
    glBegin(GL_QUADS);
    for (int i = 0; i < m.vcount; i++)
    {
        glColor3fv(&(m.vertices[i].color));
        glVertex3fv(&(m.vertices[i].pos));
    }
    glEnd();
    glPopMatrix();
}

Diese Funktion alleine macht noch nichts, wir brauchen Sie aber um nun verschiedene Figuren zu rendern.