triangle_strip
-
hi!
beim rendern meines terrain tauchen an gewissen stellen fehler auf, d.h. striche vom linken ende zum rechten ende. ich glaube das liebt daran, dass ich die indices für den triangle strip falsch festlegt:for (y = 0; y < nSize - 1; y++) { for (int x=0; x < nSize - 1; x++) { CurrVertex = y * (nSize) + x; indices[idx++] = CurrVertex; indices[idx++] = CurrVertex + 1; indices[idx++] = CurrVertex + (nSize) +1; indices[idx++] = CurrVertex + (nSize); indices[idx++] = CurrVertex; indices[idx++] = CurrVertex + 1; Size+=6; } }
nSize ... größe des Terrains, bei mir 64*64
Size ... anzahl der indicesindices: int *indices;
vertices: CVector3D *verticeswieso tauchen diese striche auf und wie kann ich es beheben?
thx im vorraus
cu
-
Dann musst du wohl immer Zeilenweise deine Triangle Strips zeichnen (also gewisse Vertices tauchen mehrfach auf)
Am Besten ist dann wohl ein zusätzlicher Indexbuffer, oder was meinen die Profis dazu
-
Indexbuffer sollte auf jeden Fall verwendet werden (wird er hier ja schon). Am Ende einer Reihe muss man einige degenerierte Dreiecke einfügen um wieder zum Anfang der nächsten zu kommen.