Hi,
habe etwas Probleme mit der Performance von J3D.
Kann vielleicht mal jmd meinen Konstruktor und den Aufbau meines Szenengraphen durchschauen ob ich irgendetwas falsch mache? Danke
Konstuktor:
habe etwas Probleme mit der Performance von J3D.
Kann vielleicht mal jmd meinen Konstruktor und den Aufbau meines Szenengraphen durchschauen ob ich irgendetwas falsch mache? Danke
Konstuktor:
Code:
public Sonnensystem() {
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3D = new Canvas3D(config);
setLayout(new BorderLayout());
add("Center", canvas3D);
simpleUni = new SimpleUniverse(canvas3D);
sceneGraph = erzeugeSzenenGraph(simpleUni);
sceneGraph.setCapability(Primitive.ALLOW_CHILDREN_READ);
sceneGraph.setCapability(Primitive.ALLOW_CHILDREN_WRITE);
simpleUni.setJ3DThreadPriority(Thread.MAX_PRIORITY);
simpleUni.addBranchGraph(sceneGraph);
}
Code:
public BranchGroup erzeugeSzenenGraph(SimpleUniverse simpleUni) {
//Umgebungslicht setzen
AmbientLight umgebungslicht = new AmbientLight(true,new Color3f(0.5f,0.5f,0.5f));
umgebungslicht.setInfluencingBounds(bs);
//Drehen des Universums mit der Mouse
ViewTG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
ViewTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
MouseRotate mouseRotate = new MouseRotate();
mouseRotate.setTransformGroup(ViewTG);
mouseRotate.setSchedulingBounds(bs);
//---------------------------------------------------------------------------------
// ERSTELLEN DER PLANETEN
// .........hier werden alle Planeten mit vielen Monden hinzugefügt
//---------------------------------------------------------------------------------
//setzt den Szenengraph zusammen
ViewTG.addChild(mouseRotate);
ViewTG.addChild(erzeugeSonne());
ViewTG.addChild(umgebungslicht);
bg.addChild(ViewTG);
bg.compile();
return bg;
}