OpenGL - Fragen zu Vertex Arrays



  • Ahoi!

    Ich probiere gerade diese glVertexPointer Funktion aus, um mal zu testen, was das so an Performance bringt im Vergleich zum ständigen glVertex... Aufruf 😃
    Leider klappt das irgendwie nicht.
    Hat das irgendwas mit diesem Clientstate zu tun ?! Und was bewirkt der eigentlich ?
    Und überhaupt: Wie genau funktioniert das ?
    Hab ich das richtig verstanden ? :
    Mit glVertexPointer(), glTexCoordPointer etc lege ich erst fest welche Arrays gerade als "aktuell zu betrachten" sind, richtig ? Dann muss ich die über EnableClientState "aktivieren" und per Aufruf von glDrawArrays, oder glDrawElements (das selbe nur als Index Liste AFAIK) wird alles zusammen gerendert. Ist das so korrekt ?

    Hier ist zumindest mein Code. Ganz einfach, nur nakte Dreiecke.
    Leider bleibt das Bild schwarz. Vertex-Array und Indexes sind definitiv ok.

    glVertexPointer(3, GL_DOUBLE, 0, &pMesh->m_pVertexBuffer[0]);
    glEnableClientState(GL_VERTEX_ARRAY);
    glDrawElements(GL_TRIANGLES, pMesh->m_nFaceCount * 3, GL_UNSIGNED_INT, &pMesh->m_pVertexIndices[0]);
    glDisableClientState(GL_VERTEX_ARRAY);
    

    😕
    Wo ist der Fehler ?


Anmelden zum Antworten