aboutsummaryrefslogtreecommitdiff
path: root/engine/src/android/jme3test/android/SimpleTexturedTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/android/jme3test/android/SimpleTexturedTest.java')
-rw-r--r--engine/src/android/jme3test/android/SimpleTexturedTest.java150
1 files changed, 150 insertions, 0 deletions
diff --git a/engine/src/android/jme3test/android/SimpleTexturedTest.java b/engine/src/android/jme3test/android/SimpleTexturedTest.java
new file mode 100644
index 0000000..3f7b8d4
--- /dev/null
+++ b/engine/src/android/jme3test/android/SimpleTexturedTest.java
@@ -0,0 +1,150 @@
+
+/*
+ * Android 2.2+ SimpleTextured test.
+ *
+ * created: Mon Nov 8 00:08:22 EST 2010
+ */
+
+package jme3test.android;
+
+
+import com.jme3.app.SimpleApplication;
+import com.jme3.asset.TextureKey;
+import com.jme3.light.PointLight;
+import com.jme3.material.Material;
+import com.jme3.math.ColorRGBA;
+import com.jme3.math.Vector3f;
+import com.jme3.scene.Geometry;
+import com.jme3.scene.Mesh;
+import com.jme3.scene.Node;
+import com.jme3.scene.shape.Box;
+import com.jme3.scene.shape.Sphere;
+import com.jme3.texture.Texture;
+import com.jme3.util.TangentBinormalGenerator;
+
+
+public class SimpleTexturedTest extends SimpleApplication {
+
+ private static final java.util.logging.Logger logger = java.util.logging.Logger.getLogger(SimpleTexturedTest.class.getName());
+
+
+ private Node spheresContainer = new Node("spheres-container");
+
+
+ private boolean lightingEnabled = true;
+ private boolean texturedEnabled = true;
+ private boolean spheres = true;
+
+ @Override
+ public void simpleInitApp() {
+
+ //flyCam.setRotationSpeed(0.01f);
+
+
+ Mesh shapeSphere = null;
+ Mesh shapeBox = null;
+
+
+ shapeSphere = new Sphere(16, 16, .5f);
+ shapeBox = new Box(Vector3f.ZERO, 0.3f, 0.3f, 0.3f);
+
+
+ // ModelConverter.optimize(geom);
+
+ Texture texture = assetManager.loadTexture(new TextureKey("Interface/Logo/Monkey.jpg"));
+ Texture textureMonkey = assetManager.loadTexture(new TextureKey("Interface/Logo/Monkey.jpg"));
+
+ Material material = null;
+ Material materialMonkey = null;
+
+ if (texturedEnabled) {
+ if (lightingEnabled) {
+ material = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
+ material.setBoolean("VertexLighting", true);
+ material.setFloat("Shininess", 127);
+ material.setBoolean("LowQuality", true);
+ material.setTexture("DiffuseMap", texture);
+
+ materialMonkey = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
+ materialMonkey.setBoolean("VertexLighting", true);
+ materialMonkey.setFloat("Shininess", 127);
+ materialMonkey.setBoolean("LowQuality", true);
+ materialMonkey.setTexture("DiffuseMap", textureMonkey);
+
+ } else {
+ material = new Material(assetManager, "Common/MatDefs/Misc/SimpleTextured.j3md");
+ material.setTexture("ColorMap", texture);
+
+ materialMonkey = new Material(assetManager, "Common/MatDefs/Misc/SimpleTextured.j3md");
+ materialMonkey.setTexture("ColorMap", textureMonkey);
+ }
+ } else {
+ material = new Material(assetManager, "Common/MatDefs/Misc/SolidColor.j3md");
+ material.setColor("Color", ColorRGBA.Red);
+ materialMonkey = new Material(assetManager, "Common/MatDefs/Misc/SolidColor.j3md");
+ materialMonkey.setColor("Color", ColorRGBA.Red);
+ }
+
+ TangentBinormalGenerator.generate(shapeSphere);
+ TangentBinormalGenerator.generate(shapeBox);
+
+ int iFlipper = 0;
+ for (int y = -1; y < 2; y++) {
+ for (int x = -1; x < 2; x++){
+ Geometry geomClone = null;
+
+ //iFlipper++;
+ if (iFlipper % 2 == 0)
+ {
+ geomClone = new Geometry("geometry-" + y + "-" + x, shapeBox);
+ }
+ else
+ {
+ geomClone = new Geometry("geometry-" + y + "-" + x, shapeSphere);
+ }
+ if (iFlipper % 3 == 0)
+ {
+ geomClone.setMaterial(materialMonkey);
+ }
+ else
+ {
+ geomClone.setMaterial(material);
+ }
+ geomClone.setLocalTranslation(x, y, 0);
+
+// Transform t = geom.getLocalTransform().clone();
+// Transform t2 = geomClone.getLocalTransform().clone();
+// t.combineWithParent(t2);
+// geomClone.setLocalTransform(t);
+
+ spheresContainer.attachChild(geomClone);
+ }
+ }
+
+ spheresContainer.setLocalTranslation(new Vector3f(0, 0, -4f));
+ spheresContainer.setLocalScale(2.0f);
+
+ rootNode.attachChild(spheresContainer);
+
+ PointLight pointLight = new PointLight();
+
+ pointLight.setColor(new ColorRGBA(0.7f, 0.7f, 1.0f, 1.0f));
+
+ pointLight.setPosition(new Vector3f(0f, 0f, 0f));
+ pointLight.setRadius(8);
+
+ rootNode.addLight(pointLight);
+ }
+
+ @Override
+ public void simpleUpdate(float tpf) {
+
+ // secondCounter has been removed from SimpleApplication
+ //if (secondCounter == 0)
+ // logger.info("Frames per second: " + timer.getFrameRate());
+
+ spheresContainer.rotate(0.2f * tpf, 0.4f * tpf, 0.8f * tpf);
+ }
+
+}
+