import com.microcrowd.loader.java3d.max3ds.Loader3DS;
import com.sun.j3d.loaders.Scene;
import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
import com.sun.j3d.utils.behaviors.mouse.MouseWheelZoom;
import com.sun.j3d.utils.universe.SimpleUniverse;
import java.awt.Color;
import java.io.FileNotFoundException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.media.j3d.Alpha;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.DirectionalLight;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3f;
/**
*
* @author hadeslee
*/
public class Simple3DSLd {
public Simple3DSLd() {
build();
}
private void build() {
try {
BranchGroup bg = loadBranchGroup();
SimpleUniverse u = new SimpleUniverse();
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(bg);
} catch (FileNotFoundException ex) {
Logger.getLogger(Simple3DSLd.class.getName()).log(Level.SEVERE, null, ex);
}
}
private BranchGroup loadBranchGroup() throws FileNotFoundException {
Loader3DS l3ds = new Loader3DS();
Scene scene = l3ds.load("K:/sample.3ds");
System.out.println("scene=" + scene);
if (scene != null) {
BranchGroup objRoot = new BranchGroup();
BranchGroup bg = scene.getSceneGroup();
TransformGroup objTrans = new TransformGroup();
Transform3D trans = new Transform3D();
trans.setScale(0.3f);
objTrans.setTransform(trans);
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans.addChild(bg);
objRoot.