Das Problem ist gewesen: Jeder Vertex bekommt nur eine Farbe. Was sonst noch im Color Buffer Object steht, wird ignoriert.
Deswegen musste folgendes geändert werden:
float[] vertices = new float[]{
0.f, 0.f, 0.f,
20.f, 0.f, 0.f,
0.f, 0.f, 0.f,
0.f, 20.f, 0.f,
0.f, 0.f, 0.f,
0.f, 0.f, 20.f
};
float[] colors = new float[]{
1f, 0f, 0f,
1f, 0f, 0f,
0f, 1f, 0f,
0f, 1f, 0f,
0f, 0f, 1f,
0f, 0f, 1f};
int[] indexes = new int[]{
0, 1, 2, 3, 4, 5
};
Ich finde das nicht so toll, aber gut.
Ein zweites Problem, was ich hätte, ich möchte das Dreieck um 360/3 Grad auf eine Seite kippen, allerdings wird es um den Was ist ein Umkreismittelpunkt? gezeichnet, und nicht durch den Schwerpunkt:
float[] vertices = new float[]{
+0.0f, +5.0f, +0.0f, // Top coordinate
-5.0f, -5.0f, +0.0f, // Bottom-left coordinate
+5.0f, -5.0f + 0.0f // Bottom-right coordinate
};
Meine Frage wäre jetzt, wie man ein Dreieck um den Schwerpunkt zeichnet, damit es um 360/3 Grad gekippt werden kann, und auf einer Seite liegt.
#*push*
Wie bestimmt man die Koordinaten eines gleichseitigen Dreiecks mit der Seitenlänge a=10, dessen Schwerpunkt im Ursprung liegt?
Vielleicht Brett vor dem Kopf, aber mir fällt es absolut nicht ein.