GL Quad For Schleife ?



  • Hallo Es geht um folgenden OpenGL Code
    in der Draw Methode

    glBegin(GL_QUADS); 
      glVertex3f(10, 24, 10); 
      glVertex3f(6, 24, 6);
      glVertex3f(-6, 24, 6); 
      glVertex3f(-10, 24, 10);
    
      glVertex3f(-10, 24, 10);
      glVertex3f(-6, 24, 6);
      glVertex3f(-6, 24, -6);
      glVertex3f( -10, 24, -10);
    
      glVertex3f(-10, 24, -10);
      glVertex3f(-6, 24, -6);
      glVertex3f(6, 24, -6);
      glVertex3f(10, 24, -10);
    
      glVertex3f(10, 24, -10);
      glVertex3f(6, 24, -6);
      glVertex3f(6, 24, 6);
      glVertex3f( 10, 24, 10);					  
    glEnd();
    

    nun möcht ich die Werte aus Variablen rauslesen welche in einem
    Struct gespeichert sind sieht so aus

    for ( int i=0;i<lt4->anzahl;i++)
    {
      glBegin(GL_QUADS);
        glVertex3f( lt4[i].x1, lt4[i].y1, lt4[i].z1);
        glVertex3f( lt4[i].x2, lt4[i].y2, lt4[i].z2);	
        glVertex3f( lt4[i].x3, lt4[i].y3, lt4[i].z3);	
        glVertex3f( lt4[i].x4, lt4[i].y4, lt4[i].z4);
      glEnd();		
    }
    

    funktioniert auch ABER
    ist es sinnvoll eine For Schleife in die Draw Methode zu bauen oder wie geht es anders? performanter?

    Gruß Matthias



  • glVertex3f( lt4[i].x1, lt3[i].y1, lt3[i].z1);

    wieso mal lt3 und mal lt4?



  • habs gerade selber beim debuggen gemerkt ... und den post umgeändert
    😉 danke
    aber die Frage ob es sinnvoll is mit der For Schleife stelle ich mir noch immer!



  • Sinnvoll? Unter Umständen.
    Performant? Nein.

    Genau zu diesem zweck gibt es in OpenGL die Unterstützung von Vertex Arrays oder noch besser Vertex Buffer Objects (VBO). Zu diesem Thema war grad die Tage ein Thread dazu, also am besten benutzt Du hier mal die Suche.



  • Ich glaub du meinst das Thema hier von mir:

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-220161.html

    VBO, Indices ... alles drin um es sehr performant zu machen!


Anmelden zum Antworten