Java3D--HelloJava3Da

Java3D--HelloJava3Da
package com.wizard.J3D.HelloJava3D;

import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.GraphicsConfigTemplate;
import java.awt.GraphicsConfiguration;

import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;

import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;


public class HelloJava3Da extends Applet{

    public HelloJava3Da() {
        // TODO Auto-generated constructor stub
        this.setLayout(new BorderLayout());
       /////////////////////////////////////////////////////////
       //这一句在《Java指南》上没有写,不过自己做的时候一定要写上
       //这个主要是用来获得一个图形配置
       //
        GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
        /////////////////////////////////////////////////////////
       //
       //这个3D布景获得要从一个图形配置
       //
        Canvas3D canvas3D = new Canvas3D(config);
        this.add("Center",canvas3D);

        SimpleUniverse simple = new SimpleUniverse(canvas3D);
        simple.getViewingPlatform().setNominalViewingTransform();
        BranchGroup scene = this.createSceneGraph();
       /////////////////////////////////////////////////////////
       //
       //一定要编译
       //
      
        scene.compile();
       
        simple.addBranchGraph(scene);
        
    }
    ////////////////////////////////////////
    //
    // 这个是用来产生一个图像的,然后把他加入进场景
    //
    public BranchGroup createSceneGraph(){
        BranchGroup objRoot = new BranchGroup();
        
        objRoot.addChild(new ColorCube(0.4));
        return objRoot;
    }

    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
       //用这个是为了好在窗口中运行,而不用在网页中运行。
        Frame frame = new MainFrame(new HelloJava3Da(),256,256);
    }

}



你可能感兴趣的:(Java3D--HelloJava3Da)