Tach,
Dazu habe ich eine Klasse "Mesh" die Methoden für z.B. den Vertex-Buffer zur Verfügung stellt.
"Mesh" wird erweitert durch die Klasse "Plane" welche mir eine 2 dimensionale Fläche erstellt - ein Rechteck. Dann habe ich mir eine Klasse "Cube" erstellt.
Plane ist ein ungeschickter Name für dein Objekt, schließlich ist es keine zweidimensionale unbegrenzte Ebene sondern eine begrenzte Fläche.
"Cube" erweitert "Plane" denn ich wollte mir aus 6 Planes den Cube erstellen.
Laut deinem Quellcode, ist der Würfel eher nicht von der Fläche abgeleitet sondern hat sechs Flächen als Attribute.
public class Cube extends Plane {
// eine Seite des Würfels
private Plane bottomPlane;
/* ... /
public Cube(/.../){
bottomPlane = new Plane(/.../);
/ mit diesem Aufruf "funktioniert" es nicht wenn setVertices
* in drawPlane aufgerufen wird /
// bottomPlane.drawPlane();
/ mit diesem Aufruf "funktioniert" es */
drawPlane();
}
}
bottomPlane.drawPlane() setzt die vertices des Attributs bottomPlane deines "Würfels", das Atribut vertices deines Würfels wird nicht gesetzt (da drawPlane() bzw. this.drawPlane() nicht aufgerufen wird), wenn du dann in draw() auf die vertices des Würfels zugreifst, sind diese natürlich null.
Ich weiß nicht, wie OpenGL funktioniert, aber ich schätze mal die Vertices sind die Ecken eines Polygons (dann kommst du prinzipiell auch mit 4 Flächen statt mit 6 aus (und selbst dann werden zwei Kanten doppelt gezeichnet)); bei einem Drahtgittermodell würde ich vermutlich eher von 12 Kanten ausgehen als mit Flächen zu arbeiten.
mfg
Woodfighter