亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? imagecomponentbyreferencetest.java

?? java 3d 3
?? JAVA
字號:
/*
 *	@(#)ImageComponentByReferenceTest.java 1.14 02/10/21 13:41:45
 *
 * Copyright (c) 1996-2002 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * - Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 *
 * - Redistribution in binary form must reproduce the above copyright
 *   notice, this list of conditions and the following disclaimer in
 *   the documentation and/or other materials provided with the
 *   distribution.
 *
 * Neither the name of Sun Microsystems, Inc. or the names of
 * contributors may be used to endorse or promote products derived
 * from this software without specific prior written permission.
 *
 * This software is provided "AS IS," without a warranty of any
 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
 * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
 * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
 * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
 * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
 * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 *
 * You acknowledge that Software is not designed,licensed or intended
 * for use in the design, construction, operation or maintenance of
 * any nuclear facility.
 */

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import com.sun.j3d.utils.behaviors.mouse.*;
import com.sun.j3d.utils.image.TextureLoader;
import com.sun.j3d.utils.geometry.Sphere;
import com.sun.j3d.utils.geometry.Box;
import com.sun.j3d.utils.geometry.ColorCube;
import java.awt.image.*;
import java.awt.color.ColorSpace;
import com.sun.j3d.utils.geometry.*;

public class ImageComponentByReferenceTest extends JApplet implements ActionListener {

    Shape3D s1,s2;
    TextureLoader t0, t1, t2;
    int count = 0;

    Appearance app = new Appearance();
    BranchGroup objRoot = new BranchGroup();
    TransformGroup objTrans = new TransformGroup();
    BufferedImage bImage1;
    TiledImage checkBoard;
    boolean yUp = false;
    boolean byRef = true;
    JComboBox rasterType, texType;
    ImageComponent2D[] image = new ImageComponent2D[8];
    Appearance dummyApp = new Appearance();
    Texture2D texOne, texCheckBoard;
    javax.media.j3d.Raster raster;
    Box textureCube;
    Shape3D boxShape;
    int w1 = 64, h1 = 32, checkw = 16 , checkh = 16;

    private java.net.URL texImage = null;

    private SimpleUniverse u = null;
    
    public BranchGroup createSceneGraph() {
        objRoot = new BranchGroup();
 
        objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
        objTrans.setCapability(Group.ALLOW_CHILDREN_WRITE);

        objRoot.addChild(objTrans);
 
        BoundingSphere bounds =
            new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);

	app.setCapability(Appearance.ALLOW_TEXTURE_WRITE);


        textureCube = new Box(0.4f, 0.4f, 0.4f,
                                  Box.GENERATE_TEXTURE_COORDS|
				  Box.GENERATE_NORMALS, app);
	boxShape = textureCube.getShape(Box.FRONT);
	boxShape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
	objTrans.addChild(textureCube);

	checkBoard = new TiledImage();
	TextureLoader texLoader = new TextureLoader( texImage, this);
	ImageComponent2D oneImage = texLoader.getImage();
	bImage1 = oneImage.getImage();

	int index = 0;
	image[index++] =  new ImageComponent2D(oneImage.getFormat(),
				      (RenderedImage)bImage1,
				      false,
				      true);

	image[index++] =  new ImageComponent2D(oneImage.getFormat(),
				      (RenderedImage)bImage1,
				      true,
				      true);


	image[index++] =  new ImageComponent2D(oneImage.getFormat(),
				      (RenderedImage)bImage1,
				      false,
				      false);
	
	
	image[index++] =  new ImageComponent2D(oneImage.getFormat(),
				      (RenderedImage)bImage1,
				      true,
				      false);

	createRaster(objRoot);

	image[index++] =  new ImageComponent2D(ImageComponent.FORMAT_RGBA,
				      checkBoard,
				      false,
				      true);

	image[index++] =  new ImageComponent2D(ImageComponent.FORMAT_RGBA,
				      checkBoard,
				      true,
				      true);


	image[index++] =  new ImageComponent2D(ImageComponent.FORMAT_RGBA,
				      checkBoard,
				      false,
				      false);
	
	
	image[index++] =  new ImageComponent2D(ImageComponent.FORMAT_RGBA,
				      checkBoard,
				      true,
				      false);



	texOne = new Texture2D(Texture.BASE_LEVEL,
				      Texture.RGBA,
				      image[2].getWidth(), image[2].getHeight());

	texOne.setCapability(Texture.ALLOW_IMAGE_WRITE);
	texOne.setImage(0, image[2]);
	
        app.setTexture(texOne);

	texCheckBoard = new Texture2D(Texture.BASE_LEVEL,
				      Texture.RGBA,
				      image[4].getWidth(), image[4].getHeight());
	
	texCheckBoard.setCapability(Texture.ALLOW_IMAGE_WRITE);
        objRoot.compile();
	return objRoot;
    }

    public void actionPerformed(ActionEvent e ) {
	Object target = e.getSource();

	if (target == rasterType) {
	    if (rasterType.getSelectedIndex() < 4) {
		raster.setSize(w1, h1);
	    }
	    else {
		raster.setSize(checkw, checkh);
	    }
	    raster.setImage(image[rasterType.getSelectedIndex()]);
	}
	else if (target == texType) {
	    boxShape.setAppearance(dummyApp);
	    if (texType.getSelectedIndex() < 4) {
		texOne.setImage(0, image[texType.getSelectedIndex()]);
		app.setTexture(texOne);
	    }
	    else {
		texCheckBoard.setImage(0, image[texType.getSelectedIndex()]);
		app.setTexture(texCheckBoard);
	    }
		
	    boxShape.setAppearance(app);
	}


    }

    JPanel createImagePanel() {
	JPanel panel = new JPanel();
	String texVals[] = { "One_Yup_ByCopy",
			     "One_Yup_ByReference",
			     "One_Ydown_ByCopy",
			     "One_Ydown_ByReference",
			     "Checkered_Yup_ByCopy",
			     "Checkered_Yup_ByReference",
			     "Checkered_Ydown_ByCopy",
			     "Checkered_Ydown_ByReference"};
	
	rasterType = new JComboBox(texVals);
	rasterType.setLightWeightPopupEnabled(false);
	rasterType.addActionListener(this);
	rasterType.setSelectedIndex(2);
	panel.add(new JLabel("Raster Image")); 	
	panel.add(rasterType);

	texType = new JComboBox(texVals);
	texType.setLightWeightPopupEnabled(false);
	texType.addActionListener(this);
	texType.setSelectedIndex(2);
	panel.add(new JLabel("Texture Image")); 	
	panel.add(texType);
	return panel;

    }



    public ImageComponentByReferenceTest() 
    {
    }

    public ImageComponentByReferenceTest(java.net.URL url) {
        texImage = url;
    }

    public void init() {
        if (texImage == null) {
	    // the path to the image for an applet
	    try {
	        texImage = new java.net.URL(getCodeBase().toString() +
					    "../images/one.jpg");
	    }
	    catch (java.net.MalformedURLException ex) {
	        System.out.println(ex.getMessage());
		System.exit(1);
	    }
	}

        Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
	BranchGroup scene = createSceneGraph();u = new SimpleUniverse(c);
        u.getViewingPlatform().setNominalViewingTransform();
        u.addBranchGraph(scene);
	Container contentPane = getContentPane();
	JPanel p = new JPanel();
	BoxLayout boxlayout = new BoxLayout(p, 
					    BoxLayout.Y_AXIS);
	p.setLayout(boxlayout);
        contentPane.add("Center", c);
  
	contentPane.add("South", p);
	
	p.add(createImagePanel());

    }

    public void destroy() {
	u.cleanup();
    }
 
    public static void main(String[] args) {
        java.net.URL url = null;
        // the path to the image file for an application
	try {
	    url = new java.net.URL("file:../images/one.jpg");
	}
	catch (java.net.MalformedURLException ex) {
	    System.out.println(ex.getMessage());
	    System.exit(1);
	}

        new MainFrame(new ImageComponentByReferenceTest(url), 800, 700);
    }

   void createRaster( BranchGroup scene) {



	// Create raster geometries and shapes
	Vector3f trans = new Vector3f( );
	Transform3D tr = new Transform3D( );
	TransformGroup tg;

	// Left
	raster = new javax.media.j3d.Raster( );
	raster.setCapability(javax.media.j3d.Raster.ALLOW_IMAGE_WRITE);
	raster.setCapability(javax.media.j3d.Raster.ALLOW_SIZE_WRITE);
	raster.setPosition( new Point3f( -0.9f, 0.75f, 0.0f ) );
	raster.setType( javax.media.j3d.Raster.RASTER_COLOR );
	raster.setOffset( 0, 0 );

	raster.setSize( image[2].getWidth(), image[2].getHeight() );
	raster.setImage( image[2] );
	Shape3D sh = new Shape3D( raster, new Appearance( ) );
	scene.addChild( sh );



    }
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人网页在线观看| 色综合色综合色综合色综合色综合| 国产视频一区在线播放| 色婷婷久久综合| 激情六月婷婷综合| 亚洲永久精品大片| 中文字幕电影一区| 日韩精品一区二区三区中文精品| 99精品欧美一区| 国产精一品亚洲二区在线视频| 亚洲成在人线免费| ...xxx性欧美| 久久久国产精品麻豆| 日韩丝袜情趣美女图片| 欧美老女人在线| www.亚洲色图| 国产一区二区三区免费播放| 日韩精品视频网| 午夜伦理一区二区| 亚洲男人天堂av网| 亚洲日本青草视频在线怡红院| 欧美精品一区二区三区高清aⅴ | 亚洲电影在线免费观看| 国产欧美一区二区精品忘忧草 | 精品福利av导航| 精品视频一区 二区 三区| 一本久久精品一区二区| eeuss国产一区二区三区| 国产成人精品一区二区三区四区 | 美女精品自拍一二三四| 亚洲免费观看高清完整版在线观看熊 | 日韩视频在线一区二区| 精品视频资源站| 欧美日韩情趣电影| 欧美午夜片在线观看| 欧美午夜一区二区三区免费大片| 91黄色在线观看| 欧美视频一区二| 欧美久久久久久久久| 91精品免费在线观看| 91精品国产综合久久精品性色| 欧美日韩国产中文| 4438亚洲最大| 欧美精品一区二区久久久| 精品久久免费看| 国产欧美视频一区二区三区| 国产精品蜜臀在线观看| 最近日韩中文字幕| 亚洲国产日韩精品| 日本美女视频一区二区| 九色综合狠狠综合久久| 国产成人自拍网| 成+人+亚洲+综合天堂| 97se狠狠狠综合亚洲狠狠| 成人免费视频视频在线观看免费 | 欧美一区欧美二区| 欧美xxx久久| 欧美激情一二三区| 亚洲精品免费在线观看| 亚洲成人先锋电影| 美女www一区二区| 国产成人在线视频网站| 91免费精品国自产拍在线不卡| 色综合久久中文字幕| 欧美男生操女生| 国产亚洲精品7777| 亚洲女性喷水在线观看一区| 亚洲午夜久久久久久久久电影院| 午夜欧美2019年伦理| 国产一区二区三区电影在线观看| 国产成人精品一区二区三区四区 | 欧美成人午夜电影| 久久精品人人爽人人爽| 亚洲欧美激情插| 青草国产精品久久久久久| 激情图区综合网| 91亚洲资源网| 日韩欧美一二区| 亚洲视频一二区| 免费观看91视频大全| www.欧美日韩国产在线| 欧美猛男男办公室激情| 久久久www免费人成精品| 亚洲乱码日产精品bd| 九九热在线视频观看这里只有精品| av成人免费在线观看| 91精品国产麻豆国产自产在线| 亚洲国产成人在线| 日韩精品福利网| 色综合久久久久久久久久久| 精品国产91亚洲一区二区三区婷婷| 亚洲视频你懂的| 黄网站免费久久| 欧美视频一区二区在线观看| 国产欧美日韩精品一区| 日韩av电影一区| av爱爱亚洲一区| 精品久久一区二区| 一区二区三区精品视频在线| 国产精品夜夜嗨| 91精品国产综合久久国产大片| 中文字幕日韩av资源站| 三级亚洲高清视频| 91欧美一区二区| 欧美国产精品久久| 精品一区二区免费看| 色婷婷激情久久| 国产精品二区一区二区aⅴ污介绍| 美女脱光内衣内裤视频久久网站| 日韩精品一区二区三区蜜臀| 成人免费av在线| www国产亚洲精品久久麻豆| 欧洲中文字幕精品| 国产精品久久久久天堂| 日本成人在线电影网| 欧美专区在线观看一区| 国产精品久久久久久久午夜片| 激情成人午夜视频| 日韩欧美的一区| 蜜桃视频在线一区| 色婷婷综合久久| 自拍偷拍国产亚洲| 99视频有精品| 国产精品久久久久影视| 国产一区二区久久| 久久免费视频一区| 国产真实乱偷精品视频免| 欧美电影精品一区二区| 三级不卡在线观看| 91精品国产综合久久精品| 午夜日韩在线电影| 欧美一区二区啪啪| 免费人成黄页网站在线一区二区| 欧美精品色一区二区三区| 一级女性全黄久久生活片免费| 91蜜桃在线观看| 洋洋av久久久久久久一区| 一本久道中文字幕精品亚洲嫩| 中文字幕一区二区三区四区| 99久久久久久| 亚洲男人的天堂在线aⅴ视频| 91麻豆成人久久精品二区三区| 亚洲免费伊人电影| 欧美日本视频在线| 蜜臀精品久久久久久蜜臀| 日韩久久久久久| 国产激情一区二区三区| 国产精品女人毛片| 色婷婷激情一区二区三区| 亚洲一区二区三区四区在线观看| 欧美男生操女生| 激情都市一区二区| 国产精品久久久久一区二区三区共| 97精品国产97久久久久久久久久久久 | 韩国女主播成人在线观看| 精品国产乱码久久| 国产成人精品免费网站| 亚洲手机成人高清视频| 欧美色视频一区| 美女一区二区视频| 国产精品欧美一区喷水| 色欧美88888久久久久久影院| 自拍偷拍国产精品| 欧美日韩国产精选| 精品中文字幕一区二区小辣椒 | 精品国内片67194| 国产宾馆实践打屁股91| 亚洲精品视频免费看| 日韩一区二区精品| caoporn国产一区二区| 天天综合色天天| 久久九九久精品国产免费直播| 99综合电影在线视频| 日韩经典中文字幕一区| 久久婷婷一区二区三区| 色一情一乱一乱一91av| 久久97超碰色| 一区二区三区不卡视频| 欧美成人vps| 一本大道久久a久久综合婷婷| 久久国产麻豆精品| 一区二区三区日韩在线观看| 日韩精品一区二区三区老鸭窝| 成人黄色av电影| 蜜臀99久久精品久久久久久软件| 亚洲国产精品成人综合| 欧美狂野另类xxxxoooo| 国产精品一区二区三区网站| 午夜国产精品影院在线观看| 国产日韩欧美制服另类| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲国产sm捆绑调教视频| 国产视频在线观看一区二区三区| 欧美日本在线一区| 91视频.com| 国产91精品在线观看| 日本不卡视频一二三区| 亚洲尤物视频在线| 亚洲欧洲国产日韩| 久久久精品2019中文字幕之3|