Opengl glDrawArrays mit zweidimensionalen Array
-
Habe folgendes Problem ich möchte mit Opengl mehrere Linienzüge per glDrawArrays zeichnen.
Nun habe ich mir gedacht ich mach ein zweidimensionales Array und wo ich auf der ersten Dimension die Anfangsadressen der einzelnen Arrays mit denn Punkten für die Linienzüge speichere.
Aber es funktioniert nicht. Zu allem übel habe ich die Punktwerte (x,y,z) auch noch als Struktur.
Vielleicht sagt der Code was ich möchte:typedef struct{ float x,y,z; }Point; Line1=(Point*)malloc(10000*sizeof(Point)); Line2=(Point*)malloc(10000*sizeof(Point)); LineArr= (Point **)malloc(5*sizeof (Point*)); Linearr[0]=Line1; Linearr[1]=Line2; usw: for (int=0;i<2;i++) { glVertexPointer(3, GL_FLOAT,sizeof(Point),&Linearr [i][0].x); //das will aber nicht funzen //zweite Variante glVertexPointer(3, GL_FLOAT,sizeof(Point),&(Linearr+i)[0].x); will auch nicht glDrawArrays(GL_LINES,0,count); }nun habe ich mir gedacht so:
Point* Lineadresse; for (int=0;i<2;i++) { Lineadresse= Linearr[i]; // oder so Lineadresse= *Linearr+i; wie auch immer glVertexPointer(3, GL_FLOAT,sizeof(Point),&Lineadresse->x); //das will aber auch nicht funzen glDrawArrays(GL_LINES,0,count); }Irgendwie bin ich heute zu doof , wie bekommt man das hin??
-
Code eintippen, kompilieren, linken, starten.
Bye, TGGC (Keine Macht den Dummen)
-
Ja danke,
Hat sich mittlerweile geklärt , der Fehler war wie immer ganz wo anders zu finden,
Sorry Gruß ABC++