Hallo,
ich möchte einige QuadArrays in Java3D zeichnen und diese farblich ausfüllen.
Abschnitt, in dem die Farbe gesetzt werden soll:
In den "points" sind die Point3d gespeichert. So wie es zurzeit ist, bekomme ich beim Ausführen die Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: GeometryArray: has no colors
Wie muss ich die Farbe nun korrekt anlegen? Kann ich eigentlich für jeden Vertex eine Farbe vorgeben, sodass zwischen den Vertex dann ein Farbverlauf entsteht, oder muss ich dem QuadArray einen festen Farbwert geben?
Gruß Arnold
ich möchte einige QuadArrays in Java3D zeichnen und diese farblich ausfüllen.
Abschnitt, in dem die Farbe gesetzt werden soll:
Code:
...
Color3f red = new Color3f(1.0f, 0.0f, 0.0f);
n=0;
int quads = (nx-1)*(ny-1);
QuadArray qa = new QuadArray(quads * 4, QuadArray.COORDINATES);
for (int i=0; i<quads; i++) {
int cornerIdx = i + (i/(nx-1));
qa.setCoordinate(n++, points[cornerIdx]);
qa.setColor(n++, red);
qa.setCoordinate(n++, points[cornerIdx+1]);
qa.setCoordinate(n++, points[cornerIdx+nx+1]);
qa.setCoordinate(n++, points[cornerIdx+nx]);
}
Shape3D shp = new Shape3D(qa);
shp.setAppearance(appear);
group.addChild(shp);
...
In den "points" sind die Point3d gespeichert. So wie es zurzeit ist, bekomme ich beim Ausführen die Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: GeometryArray: has no colors
Wie muss ich die Farbe nun korrekt anlegen? Kann ich eigentlich für jeden Vertex eine Farbe vorgeben, sodass zwischen den Vertex dann ein Farbverlauf entsteht, oder muss ich dem QuadArray einen festen Farbwert geben?
Gruß Arnold