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.