Merkwürdiger Dreiecksschwund

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Merkwürdiger Dreiecksschwund
Hallo,
Ich hänge hier schon den ganzen tag an einem sehr merkwürdigen bug, bei uns fehlen die hälfte der dreiecke und ich komme ums verrecken nicht drauf wo die bleiben.
Ich habe an allen möglichen stellen geprüft ob die richtige Anzahl an Dreiecken durchkommt vom laden usw, aber ohne Erfolg bisher…

Falls einer der Betreuer mal in unseren code schaun möchte, wir sind team9.


Hi,

void DrawElementMesh::BuildDisplayList() const {

glVertexPointer(3, GL_DOUBLE, sizeof(vec3d), verts);
glNormalPointer(GL_DOUBLE, sizeof(vec3d), normals);
glTexCoordPointer(2, GL_DOUBLE,sizeof(vec3d), texcoords);

Schaut euch das nochmal genau an, zudem schaut euch mal
den texCoord array an.

Martin
GraPA-Team


Hi,
wir haben das gleiche Problem. ich hab auch mit
glVertexPointer(3, GL_DOUBLE, sizeof(vec3d), verts);
glNormalPointer(GL_DOUBLE, sizeof(vec3d), normals);
glTexCoordPointer(2, GL_DOUBLE,sizeof(vec3d), texcoords);
versucht, geht trotzdem nicht

team11


Ich habe vergessen zu sagen, dass mit glVertex() geht.


Also des Raetsels Loesung liegt in dem glDrawArray-Aufruf. Der 3. Parameter gibt nicht die Anzahl der zu behandelnden Primitive an sondern die Anzahl an Vertices, die zu prozessieren sind. Schreibt mal getNumT*3 rein. Dann sollte es tun. Denk mal an TriangleStrips. Da ist das mit den Primitiven dann schon nicht mehr so klar.

Gruss

Frank
GraPA-Team


Vielen Dank!!! Jetzt geht!!! :smiley: :smiley: :smiley: :smiley:


Super, das war der Fehler.