Thomas Darimont
Erfahrenes Mitglied
Hallo,
wer schon immer mal mit Java 3Dherumspielen wollte, findet im aktuellen Java Magazin 10.08: http://it-republik.de/jaxenter/java-magazin-ausgaben/Eclipse-%E0-la-carte-000269.html eine kleine leichtverständliche Einführung mit entsprechendem Beispielcode.
Lädt man sich die Java3D Library von: https://java3d.dev.java.net/ (darauf achten, die nativen Bibliotheken entsprechend mit anzugeben... Bei Eclipse siehe hier:
http://www.tutorials.de/forum/java/262099-jogl-und-eclipse.html , ansonsten muss man die Anwendung mit dem JVM Property -Djava.library.path=/path/to/native/libs starten)
kann man mit ein wenig Beispielcode:
...einen Farbwürfel erzeugen den man mit der Maus / Tastatur drehen und verkleinern kann (+/-)
Gruß Tom
wer schon immer mal mit Java 3Dherumspielen wollte, findet im aktuellen Java Magazin 10.08: http://it-republik.de/jaxenter/java-magazin-ausgaben/Eclipse-%E0-la-carte-000269.html eine kleine leichtverständliche Einführung mit entsprechendem Beispielcode.
Lädt man sich die Java3D Library von: https://java3d.dev.java.net/ (darauf achten, die nativen Bibliotheken entsprechend mit anzugeben... Bei Eclipse siehe hier:
http://www.tutorials.de/forum/java/262099-jogl-und-eclipse.html , ansonsten muss man die Anwendung mit dem JVM Property -Djava.library.path=/path/to/native/libs starten)
kann man mit ein wenig Beispielcode:
Java:
/**
*
*/
package de.tutorials;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.TransformGroup;
import javax.swing.JFrame;
import javax.vecmath.Point3d;
import com.sun.j3d.utils.behaviors.keyboard.KeyNavigatorBehavior;
import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
import com.sun.j3d.utils.behaviors.mouse.MouseZoom;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
/**
* @author Thomas.Darimont
*
*/
public class Java3DExample extends JFrame{
public Java3DExample(){
super("Java3DExample");
setDefaultCloseOperation(EXIT_ON_CLOSE);
Canvas3D canvas = new Canvas3D(SimpleUniverse
.getPreferredConfiguration());
canvas.setSize(320, 240);
SimpleUniverse simpleUniverse = new SimpleUniverse(canvas);
simpleUniverse.getViewingPlatform().setNominalViewingTransform();
BranchGroup rootBranchGroup = new BranchGroup();
TransformGroup rootTransformGroup = new TransformGroup();
rootBranchGroup.addChild(rootTransformGroup);
rootTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
ColorCube colorCube = new ColorCube();
rootTransformGroup.addChild(colorCube);
BoundingSphere boundingSphere = new BoundingSphere(new Point3d(0,0,0),100);
MouseRotate mouseRotate = new MouseRotate();
mouseRotate.setTransformGroup(rootTransformGroup);
mouseRotate.setSchedulingBounds(boundingSphere);
rootBranchGroup.addChild(mouseRotate);
MouseTranslate mouseTranslate = new MouseTranslate();
mouseTranslate.setTransformGroup(rootTransformGroup);
mouseTranslate.setSchedulingBounds(boundingSphere);
rootBranchGroup.addChild(mouseTranslate);
MouseZoom mouseZoom = new MouseZoom();
mouseZoom.setTransformGroup(rootTransformGroup);
mouseZoom.setSchedulingBounds(boundingSphere);
rootBranchGroup.addChild(mouseZoom);
KeyNavigatorBehavior keyNavigatorBehavior = new KeyNavigatorBehavior(rootTransformGroup);
keyNavigatorBehavior.setSchedulingBounds(boundingSphere);
rootBranchGroup.addChild(keyNavigatorBehavior);
rootBranchGroup.compile();
simpleUniverse.addBranchGraph(rootBranchGroup);
add(canvas);
pack();
setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args) {
new Java3DExample();
}
}
...einen Farbwürfel erzeugen den man mit der Maus / Tastatur drehen und verkleinern kann (+/-)
Gruß Tom