Moin,
ich verusche gerade eine Hausarbeit in Java 3D zu machen. Dabei benutze ich die Entwicklungsumgebung Netbeans. Ich habe bereit 11 von 12 Aufgabenstellungen bearbeitet und komme nun seit 2 Tagen nicht mehr weiter. DerTitel sagt eigentlich schon alles: Ich soll die Lichtfarbe und die Richtung während der Laufzeit ändern via Tastendruck. Leider erhalte ich immer den Fehler:
Exception in thread "AWT-EventQueue-0" javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added
Wie mache ich das am besten?
Nachfolgend der Code der für das einschalten des Lichts im createSceneGraph aufegerufen wird (Funktioniert auch):
ich verusche gerade eine Hausarbeit in Java 3D zu machen. Dabei benutze ich die Entwicklungsumgebung Netbeans. Ich habe bereit 11 von 12 Aufgabenstellungen bearbeitet und komme nun seit 2 Tagen nicht mehr weiter. DerTitel sagt eigentlich schon alles: Ich soll die Lichtfarbe und die Richtung während der Laufzeit ändern via Tastendruck. Leider erhalte ich immer den Fehler:
Exception in thread "AWT-EventQueue-0" javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added
Wie mache ich das am besten?
Nachfolgend der Code der für das einschalten des Lichts im createSceneGraph aufegerufen wird (Funktioniert auch):
Java:
private void set_global_lights(BranchGroup objRoot) {
AmbientLight ambiLight = new AmbientLight(ColorDefs.white30);
ambiLight.setInfluencingBounds(bounds);
objRoot.addChild(ambiLight);
ambiLight.setCapability(DirectionalLight.ALLOW_STATE_WRITE);
ambiLight.setCapability(DirectionalLight.ALLOW_DIRECTION_WRITE);
ambiLight.setCapability(DirectionalLight.ALLOW_COLOR_WRITE);
Vector3f lightDir1 = new Vector3f(1.0f, 1.0f, -4.0f);
DirectionalLight dirLight = new DirectionalLight(ColorDefs.white70, lightDir1);
dirLight.setCapability(DirectionalLight.ALLOW_STATE_WRITE);
dirLight.setCapability(DirectionalLight.ALLOW_DIRECTION_WRITE);
dirLight.setCapability(DirectionalLight.ALLOW_COLOR_WRITE);
dirLight.setInfluencingBounds(bounds);
objRoot.addChild(dirLight);
}