Ich hab dazu folgende Typ Vereinbarungen getroffen
Code: Alles auswählen
TVertex = Array[0..2] of Double; //ob glFloat besser ist sei dahin gestellt.....
TVertexArr = Array[0..2] of TVertex;
Code: Alles auswählen
aCube : array of TVertexArr;
Code: Alles auswählen
setlength(aCube,AnzahlAktiveCubes);
//prüfen ob alle Blöcke inaktiv sind..wenn ja, leeres vbo ? oder gar keins?
if IsAllInactive = true then exit;
//wenn nicht:
//alle Blöcke prüfen ob aktiv oder inaktiv
//Vertexe alle aktiven Blöcke bei Laufzeit berechnen und in VBO laden
for I := 0 to 15 do //versatz Seite +i
begin
for j := 0 to 15 do //Versatz nach oben +j
begin
for k := 0 to 15 do //Versatz nach hinten -k
begin
If IsBlockActive(i,j,k) =true then
begin
//1. Dreieck L1
//aCube[0]:=(((-1.0+i+fposx,-1.0+j+fPosY, -1.0-k-fPosZ), (-1.0+i+fposx,-1.0+j+fPosY, 1.0-k-fPosZ), (-1.0+i+fposx, 1.0+j+fPosY, 1.0-k-fPosZ)));-----so sollte es sein
glVertex3f(-1.0+i+fposx,-1.0+j+fPosY,-1.0-k-fPosZ); //L1
glVertex3f(-1.0+i+fposx,-1.0+j+fPosY, 1.0-k-fPosZ);
glVertex3f(-1.0+i+fposx, 1.0+j+fPosY, 1.0-k-fPosZ);
Ist aber sehr umständlich, da ich bei einen Würfel 12 Dreiecke hab und jedes 3 Koordinaten hat....

Es würde sich ja der Umweg über ne eigenen Füllprocedure ergeben...
Wahrscheinlich seh ich den Wald vor lauter Bäumen nicht...