import javax.swing.*;
import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.geometry.Sphere;
import com.sun.j3d.utils.geometry.Box;
import javax.vecmath.*;
public class game1012 extends JFrame {
public BranchGroup createSceneGraph() {
BranchGroup objRoot = [[new]] BranchGroup();
objRoot.addChild(createLight());
Appearance ap1 = new Appearance();
Material ma1 = new Material();
ma1.setDiffuseColor(1.0f, 0.0f, 0.0f);
ap1.setMaterial(ma1);
Box [[box]] = new Box( 0.5f, 0.5f, 0.5f, ap1);
Appearance ap2 = new Appearance();
Material ma2 = new Material();
ma2.setDiffuseColor(0.0f, 0.0f, 1.0f);
ap2.setMaterial(ma2);
Box box2 = new Box( 0.2f, 0.2f, 0.2f, ap2);
objRoot.addChild(box);
objRoot.addChild(box2);
objRoot.compile();
return objRoot;
}
private Light createLight(){
DirectionalLight light = new DirectionalLight( true,
new Color3f(0.0f, 0.0f, 1.0f),
new Vector3f(0.0f, 0.0f, -1.0f));
light.setInfluencingBounds(new BoundingSphere(new Point3d(), [[100]].0));
return light;
}
public game1012() {
getContentPane().setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas = new Canvas3D(config);
getContentPane().add([[canvas]], BorderLayout.CENTER);
BranchGroup scene = createSceneGraph();
SimpleUniverse universe = new SimpleUniverse(canvas);
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph(scene);
}
public static void main(String[] args) {
game1012 sample = new game1012();
sample.setBounds( 10, 10, 240, 240);
sample.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
sample.setVisible(true);
}
}
最終更新:2011年03月06日 22:44