Hi,
wie ihr euch sicher denken könnt bin ich etwas weiter voran geschritten von meinem Tutorial und jetzt gehts um Geometry und Shape3D. Da war ein Beispielprogramm, das ich ein wenig verändern wollte und jetzt klappt das alles nicht und ich finde nicht heraus warum:
Meiner Meinung nach sollte sich da jetzt ein Dreieck zeigen, das die Farben rot, grün und blau hat. Aber alles was ich sehe ich schwarz. Nichts als schwarze gähnende Leere. Kann mich nicht erinnern in schwarzes Loch da reinprogrammiert zu haben, das alles Licht anzieht sodass nichts reflektiert wird
Also weiß jemand was da falsch ist?
mfg
jagdfalke
wie ihr euch sicher denken könnt bin ich etwas weiter voran geschritten von meinem Tutorial und jetzt gehts um Geometry und Shape3D. Da war ein Beispielprogramm, das ich ein wenig verändern wollte und jetzt klappt das alles nicht und ich finde nicht heraus warum:
Code:
import javax.swing.JFrame;
import javax.media.j3d.*;
import com.sun.j3d.utils.universe.*;
import javax.vecmath.*;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.image.*;
import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import javax.swing.Timer;
import java.awt.event.*;
public class Main extends JFrame{
private SimpleUniverse un;
public Main() {
setLayout(new BorderLayout());
setSize(500,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D c=new Canvas3D(config);
getContentPane().add(c);
un = new SimpleUniverse(c);
un.getViewingPlatform().setNominalViewingTransform();
un.addBranchGraph(createSceneGraph());
setVisible(true);
}
private BranchGroup createSceneGraph() {
BranchGroup bg = new BranchGroup();
///////////////////////////////////////////////////
// LIGHT
///////////////////////////////////////////////////
BoundingSphere bndSphere = new BoundingSphere(new Point3d(0f,0f,0f),100000);
AmbientLight ambLight = new AmbientLight(new Color3f(1f,1f,1f));
ambLight.setInfluencingBounds(bndSphere);
bg.addChild(ambLight);
/////////////////////////////////////////////////////
// SHAPE3D
/////////////////////////////////////////////////////
Color3f[] colors = new Color3f[3];
colors[0] = new Color3f(1f,0f,0f);
colors[1] = new Color3f(0f,1f,0f);
colors[2] = new Color3f(0f,0f,1f);
TriangleArray triangleGeoData = new TriangleArray(3, TriangleArray.COORDINATES | TriangleArray.COLOR_3);
triangleGeoData.setCoordinate(0, new Point3f(0f,0f,0f));
triangleGeoData.setCoordinate(1, new Point3f(0f,1f,0f));
triangleGeoData.setCoordinate(2, new Point3f(1f,0f,0f));
triangleGeoData.setColor(0, colors[0]);
triangleGeoData.setColor(1, colors[1]);
triangleGeoData.setColor(2, colors[2]);
Shape3D triangle = new Shape3D(triangleGeoData);
bg.addChild(triangle);
bg.compile();
return bg;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Main();
}
}
Meiner Meinung nach sollte sich da jetzt ein Dreieck zeigen, das die Farben rot, grün und blau hat. Aber alles was ich sehe ich schwarz. Nichts als schwarze gähnende Leere. Kann mich nicht erinnern in schwarzes Loch da reinprogrammiert zu haben, das alles Licht anzieht sodass nichts reflektiert wird
Also weiß jemand was da falsch ist?
mfg
jagdfalke