Hi Leute bin neu hier und hab vor einigen Wochen mit Java angefangen.
Hab jetzt mich mit J3D auseinander gesetzt und hab jetzt ein fettes Problem:
Also das ist meine Hauptklasse:
Dann habe ich mir eine Klasse für Einen Würfel erstellt:
Und deine eine kleine RenderKlasse mit Referenzen die es übersichtlicher machen soll und für später auch einfacher:
(Nicht über meinen Syntax wundern war vorher C++-Programmierer )
Das Problem ist jetzt das Fenster taucht auf aber ich kriege einfach keine Ausgabe also keinen Würfel.
Fehlermeldungen spuckt der Compiler keine aus.
Als IDE nutze ich Eclipse.
Die J3D-Erweiterungen sind alle richtig eingebunden.
Vielen Dank für jede Hilfe.
Hab jetzt mich mit J3D auseinander gesetzt und hab jetzt ein fettes Problem:
Also das ist meine Hauptklasse:
Java:
import java.applet.*;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GraphicsConfiguration;
import java.awt.Image;
import java.awt.event.*;
import java.util.Vector;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.GraphicsConfigTemplate3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.swing.*;
import com.sun.j3d.exp.swing.JCanvas3D;
import javax.vecmath.Vector3f;
public class world extends JApplet
{
public void DrawCube()
{
Cube cube = new Cube();
Renderer render = new Renderer(cube);
render.execute();
}
public void main(String[] args)
{
JFrame frame = new JFrame();
JApplet applet = new JApplet();
frame.setSize(1024, 768);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(applet,BorderLayout.CENTER);
frame.setVisible(true);
}
};
Dann habe ich mir eine Klasse für Einen Würfel erstellt:
Java:
import java.applet.*;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GraphicsConfiguration;
import java.awt.Image;
import java.awt.event.*;
import java.util.Vector;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.swing.*;
import javax.vecmath.Vector3f;
public class Cube
{
private GraphicsConfiguration config;
private Canvas3D canvas;
private SimpleUniverse uni;
private BranchGroup rootbranch;
private Transform3D transform3d;
private TransformGroup roottransform;
private ColorCube cube1;
Cube()
{
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas = new Canvas3D(config);
SimpleUniverse uni = new SimpleUniverse(canvas);
BranchGroup rootbranch = new BranchGroup();
Transform3D transform3d = new Transform3D();
TransformGroup roottransform = new TransformGroup();
ColorCube cube1 = new ColorCube(0.5);
}
void genCube()
{
roottransform.addChild(cube1);
rootbranch.addChild(roottransform);
uni.addBranchGraph(rootbranch);
uni.getViewingPlatform().setNominalViewingTransform();
}
};
Und deine eine kleine RenderKlasse mit Referenzen die es übersichtlicher machen soll und für später auch einfacher:
Java:
import java.applet.*;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GraphicsConfiguration;
import java.awt.Image;
import java.awt.event.*;
import java.util.Vector;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.swing.*;
import javax.vecmath.Vector3f;
public class Renderer
{
private Cube CubeRef;
Renderer(Cube ref)
{
CubeRef = ref;
}
void execute()
{
CubeRef.genCube();
}
}
(Nicht über meinen Syntax wundern war vorher C++-Programmierer )
Das Problem ist jetzt das Fenster taucht auf aber ich kriege einfach keine Ausgabe also keinen Würfel.
Fehlermeldungen spuckt der Compiler keine aus.
Als IDE nutze ich Eclipse.
Die J3D-Erweiterungen sind alle richtig eingebunden.
Vielen Dank für jede Hilfe.