probs mit triangle strips



  • tach folks

    hab nen kleines problem mit triangle strips und einem terrain, ich render das wie folgt...

    [code]
    glBegin(GL_TRIANGLE_STRIP);
    for(zeile=0;zeile<surface_zeilen-1;zeile++)
    {
    for(spalte=0;spalte<surface_spalten-1;spalte++)
    {
    glVertex3f( surface[zeile+1][spalte+1][0], surface[zeile+1][spalte+1][1], surface[zeile+1][spalte+1][2] );
    glVertex3f( surface[zeile+1][spalte][0], surface[zeile+1][spalte][1], surface[zeile+1][spalte][2] );
    glVertex3f( surface[zeile][spalte+1][0], surface[zeile][spalte+1][1], surface[zeile][spalte+1][2] );
    glVertex3f( surface[zeile][spalte][0], surface[zeile][spalte][1], surface[zeile][spalte][2]);

    }
    }
    [...]

    als ergebnis bekomm ich was total hässliches 😉 es scheint als ob alle punkte noch mal miteinander verbunden wären...auch die äußeren (sprich linke und rechte seite noch mal mit getrennten linien) ich hab keine ahnung was ich falsch haben könnte...naja vielleicht hat von euch jmd ne idee

    bye there

    tt



  • Selten waren Code tags so wertvoll.

    Das Problem liegt wohl daran, das du den Strip von links nach rechts nicht unterbrichst (mit deformierten Dreiecken). Benutzt du sowas wie Indexbuffer?


  • Mod

    macht er nicht, sind nur vertexpositionen die er durchschiebt...

    schaut auch aus als ob du für jedes quad 4 positionen angibst, also 4pos für je 2 triangles, eigentlich sollte man pro triangle nur eine pos angeben.

    for(zeile=0;zeile<surface_zeilen-1;zeile++) 
    { 
      glBegin(GL_TRIANGLE_STRIP); 
      for(spalte=0;spalte<surface_spalten;spalte++) 
      { 
        glVertex3f( surface[zeile][spalte+1][0], surface[zeile][spalte+1][1], surface[zeile][spalte+1][2] ); 
        glVertex3f( surface[zeile][spalte][0], surface[zeile][spalte][1], surface[zeile][spalte][2]); 
      } 
      glEnd();
    }
    

    so vielleicht

    rapso->greets();



  • jo is mir dann auch klar geworden 😉

    ich mache ein initial dreieck und gebe dann immer nur einen weiteren punkt an 😉 ich hab noch mal langsam in meinem buch nachgelesen 😉

    bye

    tt



  • Also wie gesagt, du musst deformierte Dreiecke einbauen, und das geht am einfachsten mit IB's, dazu gibts sicher im Netz Beispiele.


Anmelden zum Antworten