OSDN Git Service

37725530d7a6adb32582d9d95fea4d1eb2dc65ac
[mikumikustudio/MikuMikuStudio.git] / src / jmetest / renderer / TestOctahedron.java
1 /*
2  * Copyright (c) 2003-2009 jMonkeyEngine
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'jMonkeyEngine' nor the names of its contributors 
17  *   may be used to endorse or promote products derived from this software 
18  *   without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 package jmetest.renderer;
34
35 import com.jme.app.SimpleGame;
36 import com.jme.bounding.BoundingBox;
37 import com.jme.image.Texture;
38 import com.jme.math.FastMath;
39 import com.jme.math.Quaternion;
40 import com.jme.math.Vector3f;
41 import com.jme.scene.shape.Octahedron;
42 import com.jme.scene.state.TextureState;
43 import com.jme.util.TextureManager;
44
45 /**
46  * <code>TestLightState</code>
47  * @author Mark Powell
48  * @version $Id: TestOctahedron.java,v 1.15 2007/08/02 23:54:48 nca Exp $
49  */
50 public class TestOctahedron extends SimpleGame {
51
52   private Quaternion rotQuat = new Quaternion();
53   private float angle = 0;
54   private Vector3f axis = new Vector3f(1, 1, 0);
55   private Octahedron s;
56
57   /**
58    * Entry point for the test,
59    * @param args
60    */
61   public static void main(String[] args) {
62     TestOctahedron app = new TestOctahedron();
63     app.setConfigShowMode(ConfigShowMode.AlwaysShow);
64     app.start();
65   }
66
67   protected void simpleUpdate() {
68
69     if (timer.getTimePerFrame() < 1) {
70       angle = angle + (timer.getTimePerFrame() * 25);
71       if (angle > 360) {
72         angle = 0;
73       }
74     }
75
76     rotQuat.fromAngleAxis(angle * FastMath.DEG_TO_RAD, axis);
77     s.setLocalRotation(rotQuat);
78
79   }
80
81   /**
82    * builds the trimesh.
83    * @see com.jme.app.SimpleGame#initGame()
84    */
85   protected void simpleInitGame() {
86     display.setTitle("Octahedron Test");
87     cam.setLocation(new Vector3f(0, 0, 100));
88     cam.update();
89
90     s = new Octahedron("Octahedron", 20);
91     s.setModelBound(new BoundingBox());
92     s.updateModelBound();
93
94     rootNode.attachChild(s);
95
96     TextureState ts = display.getRenderer().createTextureState();
97     ts.setEnabled(true);
98     ts.setTexture(
99         TextureManager.loadTexture(
100         TestBoxColor.class.getClassLoader().getResource(
101         "jmetest/data/images/Monkey.jpg"),
102         Texture.MinificationFilter.BilinearNearestMipMap,
103         Texture.MagnificationFilter.Bilinear));
104
105     //rootNode.setRenderState(ts);
106
107   }
108
109 }