Remove tests from jme3-android.
Android specific tests are to be included in jme3-android-examples. Non-Android specific tests are imported from jme3-examples.
This commit is contained in:
parent
c320c919a5
commit
b53de6aedc
@ -1,20 +0,0 @@
|
|||||||
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
|
||||||
*
|
|
||||||
* This class was automatically generated by the
|
|
||||||
* aapt tool from the resource data it found. It
|
|
||||||
* should not be modified by hand.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.jme3.app;
|
|
||||||
|
|
||||||
public final class R {
|
|
||||||
public static final class attr {
|
|
||||||
}
|
|
||||||
public static final class layout {
|
|
||||||
public static final int main=0x7f020000;
|
|
||||||
}
|
|
||||||
public static final class string {
|
|
||||||
public static final int app_name=0x7f030000;
|
|
||||||
public static final int jme3_appclass=0x7f030001;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="com.jme3.androiddemo"
|
|
||||||
android:versionCode="6"
|
|
||||||
android:versionName="1.2.2">
|
|
||||||
|
|
||||||
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8" />
|
|
||||||
|
|
||||||
<!-- Tell the system that you need ES 2.0. -->
|
|
||||||
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
|
|
||||||
|
|
||||||
<!-- Tell the system that you need distinct touches (for the zoom gesture). -->
|
|
||||||
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="true" />
|
|
||||||
|
|
||||||
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
|
||||||
<activity android:name=".DemoMainActivity"
|
|
||||||
android:label="@string/app_name">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.MAIN" />
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
|
||||||
</intent-filter>
|
|
||||||
</activity>
|
|
||||||
|
|
||||||
<activity android:name=".DemoAndroidHarness"
|
|
||||||
android:label="@string/app_name">
|
|
||||||
</activity>
|
|
||||||
|
|
||||||
</application>
|
|
||||||
</manifest>
|
|
@ -1,25 +0,0 @@
|
|||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import android.content.pm.ActivityInfo;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import com.jme3.app.AndroidHarness;
|
|
||||||
|
|
||||||
public class DemoAndroidHarness extends AndroidHarness
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState)
|
|
||||||
{
|
|
||||||
// Set the application class to run
|
|
||||||
// First Extract the bundle from intent
|
|
||||||
Bundle bundle = getIntent().getExtras();
|
|
||||||
|
|
||||||
//Next extract the values using the key as
|
|
||||||
appClass = bundle.getString("APPCLASSNAME");
|
|
||||||
|
|
||||||
exitDialogTitle = "Close Demo?";
|
|
||||||
exitDialogMessage = "Press Yes";
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,72 +0,0 @@
|
|||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.View.OnClickListener;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.BaseAdapter;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The view adapter which gets a list of LaunchEntries and displaqs them
|
|
||||||
* @author larynx
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class DemoLaunchAdapter extends BaseAdapter implements OnClickListener
|
|
||||||
{
|
|
||||||
|
|
||||||
private Context context;
|
|
||||||
|
|
||||||
private List<DemoLaunchEntry> listDemos;
|
|
||||||
|
|
||||||
public DemoLaunchAdapter(Context context, List<DemoLaunchEntry> listDemos) {
|
|
||||||
this.context = context;
|
|
||||||
this.listDemos = listDemos;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCount() {
|
|
||||||
return listDemos.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getItem(int position) {
|
|
||||||
return listDemos.get(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getItemId(int position) {
|
|
||||||
return position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public View getView(int position, View convertView, ViewGroup viewGroup) {
|
|
||||||
DemoLaunchEntry entry = listDemos.get(position);
|
|
||||||
if (convertView == null) {
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context
|
|
||||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
|
||||||
convertView = inflater.inflate(R.layout.demo_row, null);
|
|
||||||
}
|
|
||||||
TextView tvDemoName = (TextView) convertView.findViewById(R.id.tvDemoName);
|
|
||||||
tvDemoName.setText(entry.getName());
|
|
||||||
|
|
||||||
TextView tvDescription = (TextView) convertView.findViewById(R.id.tvDescription);
|
|
||||||
tvDescription.setText(entry.getDescription());
|
|
||||||
|
|
||||||
return convertView;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View view) {
|
|
||||||
DemoLaunchEntry entry = (DemoLaunchEntry) view.getTag();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showDialog(DemoLaunchEntry entry) {
|
|
||||||
// Create and show your dialog
|
|
||||||
// Depending on the Dialogs button clicks delete it or do nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
package jme3test.android;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Name (=appClass) and Description of one demo launch inside the main apk
|
|
||||||
* @author larynx
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class DemoLaunchEntry
|
|
||||||
{
|
|
||||||
private String name;
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name
|
|
||||||
* @param description
|
|
||||||
*/
|
|
||||||
public DemoLaunchEntry(String name, String description) {
|
|
||||||
super();
|
|
||||||
this.name = name;
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,131 +0,0 @@
|
|||||||
package jme3test.android;
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.pm.ActivityInfo;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.*;
|
|
||||||
import android.widget.AdapterView.OnItemClickListener;
|
|
||||||
import android.widget.AdapterView.OnItemSelectedListener;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class DemoMainActivity extends Activity {
|
|
||||||
|
|
||||||
/** Called when the activity is first created. */
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.main);
|
|
||||||
|
|
||||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
|
||||||
|
|
||||||
final Intent myIntent = new Intent(DemoMainActivity.this, DemoAndroidHarness.class);
|
|
||||||
|
|
||||||
//Next create the bundle and initialize it
|
|
||||||
final Bundle bundle = new Bundle();
|
|
||||||
|
|
||||||
|
|
||||||
final Spinner spinnerConfig = (Spinner) findViewById(R.id.spinnerConfig);
|
|
||||||
ArrayAdapter<CharSequence> adapterDropDownConfig = ArrayAdapter.createFromResource(
|
|
||||||
this, R.array.eglconfig_array, android.R.layout.simple_spinner_item);
|
|
||||||
adapterDropDownConfig.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
|
||||||
spinnerConfig.setAdapter(adapterDropDownConfig);
|
|
||||||
|
|
||||||
|
|
||||||
spinnerConfig.setOnItemSelectedListener(new OnItemSelectedListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemSelected(AdapterView<?> parent,
|
|
||||||
View view, int pos, long id) {
|
|
||||||
Toast.makeText(parent.getContext(), "Set EGLConfig " +
|
|
||||||
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
|
|
||||||
//Add the parameters to bundle as
|
|
||||||
bundle.putString("EGLCONFIG", parent.getItemAtPosition(pos).toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onNothingSelected(AdapterView parent) {
|
|
||||||
// Do nothing.
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
final Spinner spinnerLogging = (Spinner) findViewById(R.id.spinnerLogging);
|
|
||||||
ArrayAdapter<CharSequence> adapterDropDownLogging = ArrayAdapter.createFromResource(
|
|
||||||
this, R.array.logging_array, android.R.layout.simple_spinner_item);
|
|
||||||
adapterDropDownLogging.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
|
||||||
spinnerLogging.setAdapter(adapterDropDownLogging);
|
|
||||||
|
|
||||||
|
|
||||||
spinnerLogging.setOnItemSelectedListener(new OnItemSelectedListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemSelected(AdapterView<?> parent,
|
|
||||||
View view, int pos, long id) {
|
|
||||||
Toast.makeText(parent.getContext(), "Set Logging " +
|
|
||||||
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
|
|
||||||
|
|
||||||
//Add the parameters to bundle as
|
|
||||||
bundle.putBoolean("VERBOSE", parent.getItemAtPosition(pos).toString().equals("Verbose"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onNothingSelected(AdapterView parent) {
|
|
||||||
// Do nothing.
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
ListView list = (ListView) findViewById(R.id.ListView01);
|
|
||||||
list.setClickable(true);
|
|
||||||
|
|
||||||
final List<DemoLaunchEntry> listDemos = new ArrayList<DemoLaunchEntry>();
|
|
||||||
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.SimpleTexturedTest", "An field of textured boxes rotating"));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestSkyLoadingLagoon", "Sky box demonstration with jpg"));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestSkyLoadingPrimitives", "Sky box demonstration with png"));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestBumpModel", "Shows a bump mapped well with a moving light"));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestNormalMapping", "Shows a normal mapped sphere"));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestUnshadedModel", "Shows an unshaded model of the sphere"));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestMovingParticle", "Demonstrates particle effects"));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestAmbient", "Positional sound - You sit in a dark cave under a waterfall"));
|
|
||||||
|
|
||||||
//listDemos.add(new DemoLaunchEntry("jme3test.effect.TestParticleEmitter", ""));
|
|
||||||
//listDemos.add(new DemoLaunchEntry("jme3test.effect.TestPointSprite", ""));
|
|
||||||
//listDemos.add(new DemoLaunchEntry("jme3test.light.TestLightRadius", ""));
|
|
||||||
listDemos.add(new DemoLaunchEntry("jme3test.android.TestMotionPath", "Shows cinematics - see a teapot on its journey - model loading needs a long time - just let it load, looks like freezed"));
|
|
||||||
//listDemos.add(new DemoLaunchEntry("com.jme3.androiddemo.TestSimpleWater", "Post processors - not working correctly due to missing framebuffer support, looks interresting :)"));
|
|
||||||
//listDemos.add(new DemoLaunchEntry("jme3test.model.TestHoverTank", ""));
|
|
||||||
//listDemos.add(new DemoLaunchEntry("jme3test.niftygui.TestNiftyGui", ""));
|
|
||||||
//listDemos.add(new DemoLaunchEntry("com.jme3.androiddemo.TestNiftyGui", ""));
|
|
||||||
|
|
||||||
|
|
||||||
DemoLaunchAdapter adapterList = new DemoLaunchAdapter(this, listDemos);
|
|
||||||
|
|
||||||
list.setOnItemClickListener(new OnItemClickListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemClick(AdapterView<?> arg0, View view, int position, long index) {
|
|
||||||
System.out.println("onItemClick");
|
|
||||||
showToast(listDemos.get(position).getName());
|
|
||||||
|
|
||||||
|
|
||||||
//Add the parameters to bundle as
|
|
||||||
bundle.putString("APPCLASSNAME", listDemos.get(position).getName());
|
|
||||||
|
|
||||||
//Add this bundle to the intent
|
|
||||||
myIntent.putExtras(bundle);
|
|
||||||
|
|
||||||
//Start the JME3 app harness activity
|
|
||||||
DemoMainActivity.this.startActivity(myIntent);
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
list.setAdapter(adapterList);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showToast(String message) {
|
|
||||||
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
|||||||
/* AUTO-GENERATED FILE. DO NOT MODIFY.
|
|
||||||
*
|
|
||||||
* This class was automatically generated by the
|
|
||||||
* aapt tool from the resource data it found. It
|
|
||||||
* should not be modified by hand.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package jme3test.android;
|
|
||||||
|
|
||||||
public final class R {
|
|
||||||
public static final class array {
|
|
||||||
public static final int eglconfig_array=0x7f060000;
|
|
||||||
public static final int logging_array=0x7f060001;
|
|
||||||
}
|
|
||||||
public static final class attr {
|
|
||||||
}
|
|
||||||
public static final class drawable {
|
|
||||||
public static final int icon=0x7f020000;
|
|
||||||
}
|
|
||||||
public static final class id {
|
|
||||||
public static final int LinearLayout01=0x7f070000;
|
|
||||||
public static final int LinearLayout02=0x7f070002;
|
|
||||||
public static final int ListView01=0x7f070009;
|
|
||||||
public static final int TextView01=0x7f070003;
|
|
||||||
public static final int spinnerConfig=0x7f070006;
|
|
||||||
public static final int spinnerLogging=0x7f070008;
|
|
||||||
public static final int tvConfig=0x7f070005;
|
|
||||||
public static final int tvDemoName=0x7f070001;
|
|
||||||
public static final int tvDescription=0x7f070004;
|
|
||||||
public static final int tvLogging=0x7f070007;
|
|
||||||
}
|
|
||||||
public static final class layout {
|
|
||||||
public static final int demo_row=0x7f030000;
|
|
||||||
public static final int main=0x7f030001;
|
|
||||||
}
|
|
||||||
public static final class raw {
|
|
||||||
public static final int oddbounce=0x7f040000;
|
|
||||||
}
|
|
||||||
public static final class string {
|
|
||||||
public static final int app_name=0x7f050000;
|
|
||||||
public static final int eglconfig_prompt=0x7f050001;
|
|
||||||
public static final int eglconfig_text=0x7f050002;
|
|
||||||
public static final int logging_prompt=0x7f050003;
|
|
||||||
public static final int logging_text=0x7f050004;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.audio.AudioNode;
|
|
||||||
import com.jme3.input.MouseInput;
|
|
||||||
import com.jme3.input.controls.InputListener;
|
|
||||||
import com.jme3.input.controls.MouseButtonTrigger;
|
|
||||||
import com.jme3.math.Vector3f;
|
|
||||||
|
|
||||||
public class SimpleSoundTest extends SimpleApplication implements InputListener {
|
|
||||||
|
|
||||||
private AudioNode gun;
|
|
||||||
private AudioNode nature;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleInitApp() {
|
|
||||||
gun = new AudioNode(assetManager, "Sound/Effects/Gun.wav");
|
|
||||||
gun.setPositional(true);
|
|
||||||
gun.setLocalTranslation(new Vector3f(0, 0, 0));
|
|
||||||
gun.setMaxDistance(100);
|
|
||||||
gun.setRefDistance(5);
|
|
||||||
|
|
||||||
nature = new AudioNode(assetManager, "Sound/Environment/Nature.ogg", true);
|
|
||||||
nature.setVolume(3);
|
|
||||||
nature.setLooping(true);
|
|
||||||
nature.play();
|
|
||||||
|
|
||||||
inputManager.addMapping("click", new MouseButtonTrigger(MouseInput.BUTTON_LEFT));
|
|
||||||
inputManager.addListener(this, "click");
|
|
||||||
|
|
||||||
rootNode.attachChild(gun);
|
|
||||||
rootNode.attachChild(nature);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onAction(String name, boolean isPressed, float tpf) {
|
|
||||||
if (name.equals("click") && isPressed) {
|
|
||||||
gun.playInstance();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,150 +0,0 @@
|
|||||||
|
|
||||||
/*
|
|
||||||
* 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(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.fine("Frames per second: " + timer.getFrameRate());
|
|
||||||
|
|
||||||
spheresContainer.rotate(0.2f * tpf, 0.4f * tpf, 0.8f * tpf);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2009-2012 jMonkeyEngine
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* * Redistributions 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 'jMonkeyEngine' nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import android.media.SoundPool;
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.audio.AudioNode;
|
|
||||||
import com.jme3.math.Vector3f;
|
|
||||||
|
|
||||||
public class TestAmbient extends SimpleApplication {
|
|
||||||
|
|
||||||
private AudioNode footsteps, beep;
|
|
||||||
private AudioNode nature, waves;
|
|
||||||
|
|
||||||
SoundPool soundPool;
|
|
||||||
|
|
||||||
// private PointAudioSource waves;
|
|
||||||
private float time = 0;
|
|
||||||
private float nextTime = 1;
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
|
||||||
TestAmbient test = new TestAmbient();
|
|
||||||
test.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleInitApp()
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
footsteps = new AudioNode(audioRenderer, assetManager, "Sound/Effects/Foot steps.ogg", true);
|
|
||||||
|
|
||||||
footsteps.setPositional(true);
|
|
||||||
footsteps.setLocalTranslation(new Vector3f(4, -1, 30));
|
|
||||||
footsteps.setMaxDistance(5);
|
|
||||||
footsteps.setRefDistance(1);
|
|
||||||
footsteps.setLooping(true);
|
|
||||||
|
|
||||||
beep = new AudioNode(audioRenderer, assetManager, "Sound/Effects/Beep.ogg", true);
|
|
||||||
beep.setVolume(3);
|
|
||||||
beep.setLooping(true);
|
|
||||||
|
|
||||||
audioRenderer.playSourceInstance(footsteps);
|
|
||||||
audioRenderer.playSource(beep);
|
|
||||||
*/
|
|
||||||
|
|
||||||
waves = new AudioNode(assetManager, "Sound/Environment/Ocean Waves.ogg", true);
|
|
||||||
waves.setPositional(true);
|
|
||||||
|
|
||||||
nature = new AudioNode(assetManager, "Sound/Environment/Nature.ogg", true);
|
|
||||||
|
|
||||||
waves.setLocalTranslation(new Vector3f(4, -1, 30));
|
|
||||||
waves.setMaxDistance(5);
|
|
||||||
waves.setRefDistance(1);
|
|
||||||
|
|
||||||
nature.setVolume(3);
|
|
||||||
audioRenderer.playSourceInstance(waves);
|
|
||||||
audioRenderer.playSource(nature);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleUpdate(float tpf)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2009-2012 jMonkeyEngine
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* * Redistributions 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 'jMonkeyEngine' nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.light.AmbientLight;
|
|
||||||
import com.jme3.light.DirectionalLight;
|
|
||||||
import com.jme3.light.PointLight;
|
|
||||||
import com.jme3.material.Material;
|
|
||||||
import com.jme3.math.ColorRGBA;
|
|
||||||
import com.jme3.math.FastMath;
|
|
||||||
import com.jme3.math.Vector3f;
|
|
||||||
import com.jme3.scene.Geometry;
|
|
||||||
import com.jme3.scene.Spatial;
|
|
||||||
import com.jme3.scene.plugins.ogre.OgreMeshKey;
|
|
||||||
import com.jme3.scene.shape.Sphere;
|
|
||||||
import com.jme3.util.TangentBinormalGenerator;
|
|
||||||
|
|
||||||
public class TestBumpModel extends SimpleApplication {
|
|
||||||
|
|
||||||
float angle;
|
|
||||||
PointLight pl;
|
|
||||||
Spatial lightMdl;
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
|
||||||
TestBumpModel app = new TestBumpModel();
|
|
||||||
app.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleInitApp() {
|
|
||||||
Spatial signpost = (Spatial) assetManager.loadAsset(new OgreMeshKey("Models/Sign Post/Sign Post.mesh.xml"));
|
|
||||||
signpost.setMaterial( (Material) assetManager.loadMaterial("Models/Sign Post/Sign Post.j3m"));
|
|
||||||
TangentBinormalGenerator.generate(signpost);
|
|
||||||
rootNode.attachChild(signpost);
|
|
||||||
|
|
||||||
lightMdl = new Geometry("Light", new Sphere(10, 10, 0.1f));
|
|
||||||
lightMdl.setMaterial( (Material) assetManager.loadMaterial("Common/Materials/RedColor.j3m"));
|
|
||||||
rootNode.attachChild(lightMdl);
|
|
||||||
|
|
||||||
// flourescent main light
|
|
||||||
pl = new PointLight();
|
|
||||||
pl.setColor(new ColorRGBA(0.88f, 0.92f, 0.95f, 1.0f));
|
|
||||||
rootNode.addLight(pl);
|
|
||||||
|
|
||||||
AmbientLight al = new AmbientLight();
|
|
||||||
al.setColor(new ColorRGBA(0.44f, 0.40f, 0.20f, 1.0f));
|
|
||||||
rootNode.addLight(al);
|
|
||||||
|
|
||||||
DirectionalLight dl = new DirectionalLight();
|
|
||||||
dl.setDirection(new Vector3f(1,-1,-1).normalizeLocal());
|
|
||||||
dl.setColor(new ColorRGBA(0.92f, 0.85f, 0.8f, 1.0f));
|
|
||||||
rootNode.addLight(dl);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleUpdate(float tpf){
|
|
||||||
angle += tpf * 0.25f;
|
|
||||||
angle %= FastMath.TWO_PI;
|
|
||||||
|
|
||||||
pl.setPosition(new Vector3f(FastMath.cos(angle) * 6f, 3f, FastMath.sin(angle) * 6f));
|
|
||||||
lightMdl.setLocalTranslation(pl.getPosition());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2009-2012 jMonkeyEngine
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* * Redistributions 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 'jMonkeyEngine' nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.effect.ParticleEmitter;
|
|
||||||
import com.jme3.effect.ParticleMesh.Type;
|
|
||||||
import com.jme3.input.KeyInput;
|
|
||||||
import com.jme3.input.controls.ActionListener;
|
|
||||||
import com.jme3.input.controls.KeyTrigger;
|
|
||||||
import com.jme3.light.AmbientLight;
|
|
||||||
import com.jme3.material.Material;
|
|
||||||
import com.jme3.math.ColorRGBA;
|
|
||||||
import com.jme3.math.FastMath;
|
|
||||||
import com.jme3.math.Vector3f;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Particle that moves in a circle.
|
|
||||||
*
|
|
||||||
* @author Kirill Vainer
|
|
||||||
*/
|
|
||||||
public class TestMovingParticle extends SimpleApplication {
|
|
||||||
|
|
||||||
private ParticleEmitter emit;
|
|
||||||
private float angle = 0;
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
TestMovingParticle app = new TestMovingParticle();
|
|
||||||
app.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleInitApp() {
|
|
||||||
emit = new ParticleEmitter("Emitter", Type.Triangle, 300);
|
|
||||||
emit.setGravity(0, 0, 0);
|
|
||||||
emit.setVelocityVariation(1);
|
|
||||||
emit.setLowLife(1);
|
|
||||||
emit.setHighLife(1);
|
|
||||||
emit.setInitialVelocity(new Vector3f(0, .5f, 0));
|
|
||||||
emit.setImagesX(15);
|
|
||||||
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md");
|
|
||||||
mat.setTexture("Texture", assetManager.loadTexture("Effects/Smoke/Smoke.png"));
|
|
||||||
emit.setMaterial(mat);
|
|
||||||
|
|
||||||
rootNode.attachChild(emit);
|
|
||||||
|
|
||||||
AmbientLight al = new AmbientLight();
|
|
||||||
al.setColor(new ColorRGBA(0.84f, 0.80f, 0.80f, 1.0f));
|
|
||||||
rootNode.addLight(al);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inputManager.addListener(new ActionListener() {
|
|
||||||
|
|
||||||
public void onAction(String name, boolean isPressed, float tpf) {
|
|
||||||
if ("setNum".equals(name) && isPressed) {
|
|
||||||
emit.setNumParticles(1000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, "setNum");
|
|
||||||
|
|
||||||
inputManager.addMapping("setNum", new KeyTrigger(KeyInput.KEY_SPACE));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleUpdate(float tpf) {
|
|
||||||
angle += tpf;
|
|
||||||
angle %= FastMath.TWO_PI;
|
|
||||||
float x = FastMath.cos(angle) * 2;
|
|
||||||
float y = FastMath.sin(angle) * 2;
|
|
||||||
emit.setLocalTranslation(x, 0, y);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,99 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2009-2012 jMonkeyEngine
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* * Redistributions 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 'jMonkeyEngine' nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.light.AmbientLight;
|
|
||||||
import com.jme3.light.DirectionalLight;
|
|
||||||
import com.jme3.light.PointLight;
|
|
||||||
import com.jme3.material.Material;
|
|
||||||
import com.jme3.math.ColorRGBA;
|
|
||||||
import com.jme3.math.FastMath;
|
|
||||||
import com.jme3.math.Vector3f;
|
|
||||||
import com.jme3.scene.Geometry;
|
|
||||||
import com.jme3.scene.Spatial;
|
|
||||||
import com.jme3.scene.shape.Sphere;
|
|
||||||
import com.jme3.util.TangentBinormalGenerator;
|
|
||||||
|
|
||||||
public class TestNormalMapping extends SimpleApplication {
|
|
||||||
|
|
||||||
float angle;
|
|
||||||
PointLight pl;
|
|
||||||
Spatial lightMdl;
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
|
||||||
TestNormalMapping app = new TestNormalMapping();
|
|
||||||
app.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleInitApp() {
|
|
||||||
Sphere sphMesh = new Sphere(32, 32, 1);
|
|
||||||
sphMesh.setTextureMode(Sphere.TextureMode.Projected);
|
|
||||||
sphMesh.updateGeometry(32, 32, 1, false, false);
|
|
||||||
TangentBinormalGenerator.generate(sphMesh);
|
|
||||||
|
|
||||||
Geometry sphere = new Geometry("Rock Ball", sphMesh);
|
|
||||||
Material mat = assetManager.loadMaterial("Textures/Terrain/Pond/Pond.j3m");
|
|
||||||
sphere.setMaterial(mat);
|
|
||||||
rootNode.attachChild(sphere);
|
|
||||||
|
|
||||||
lightMdl = new Geometry("Light", new Sphere(10, 10, 0.1f));
|
|
||||||
lightMdl.setMaterial(assetManager.loadMaterial("Common/Materials/RedColor.j3m"));
|
|
||||||
rootNode.attachChild(lightMdl);
|
|
||||||
|
|
||||||
pl = new PointLight();
|
|
||||||
pl.setColor(ColorRGBA.White);
|
|
||||||
pl.setPosition(new Vector3f(0f, 0f, 4f));
|
|
||||||
rootNode.addLight(pl);
|
|
||||||
|
|
||||||
AmbientLight al = new AmbientLight();
|
|
||||||
al.setColor(new ColorRGBA(0.44f, 0.40f, 0.20f, 1.0f));
|
|
||||||
rootNode.addLight(al);
|
|
||||||
|
|
||||||
DirectionalLight dl = new DirectionalLight();
|
|
||||||
dl.setDirection(new Vector3f(1,-1,-1).normalizeLocal());
|
|
||||||
dl.setColor(new ColorRGBA(0.92f, 0.85f, 0.8f, 1.0f));
|
|
||||||
rootNode.addLight(dl);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleUpdate(float tpf){
|
|
||||||
angle += tpf * 0.25f;
|
|
||||||
angle %= FastMath.TWO_PI;
|
|
||||||
|
|
||||||
pl.setPosition(new Vector3f(FastMath.cos(angle) * 4f, 0.5f, FastMath.sin(angle) * 4f));
|
|
||||||
lightMdl.setLocalTranslation(pl.getPosition());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,70 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2009-2012 jMonkeyEngine
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* * Redistributions 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 'jMonkeyEngine' nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.scene.Spatial;
|
|
||||||
import com.jme3.texture.Texture;
|
|
||||||
import com.jme3.util.SkyFactory;
|
|
||||||
|
|
||||||
public class TestSkyLoadingLagoon extends SimpleApplication {
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
|
||||||
TestSkyLoadingLagoon app = new TestSkyLoadingLagoon();
|
|
||||||
app.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void simpleInitApp() {
|
|
||||||
|
|
||||||
Texture west = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_west.jpg");
|
|
||||||
Texture east = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_east.jpg");
|
|
||||||
Texture north = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_north.jpg");
|
|
||||||
Texture south = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_south.jpg");
|
|
||||||
Texture up = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_up.jpg");
|
|
||||||
Texture down = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_down.jpg");
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
Texture west = assetManager.loadTexture("Textures/Sky/Primitives/primitives_positive_x.png");
|
|
||||||
Texture east = assetManager.loadTexture("Textures/Sky/Primitives/primitives_negative_x.png");
|
|
||||||
Texture north = assetManager.loadTexture("Textures/Sky/Primitives/primitives_negative_z.png");
|
|
||||||
Texture south = assetManager.loadTexture("Textures/Sky/Primitives/primitives_positive_z.png");
|
|
||||||
Texture up = assetManager.loadTexture("Textures/Sky/Primitives/primitives_positive_y.png");
|
|
||||||
Texture down = assetManager.loadTexture("Textures/Sky/Primitives/primitives_negative_y.png");
|
|
||||||
*/
|
|
||||||
|
|
||||||
Spatial sky = SkyFactory.createSky(assetManager, west, east, north, south, up, down);
|
|
||||||
rootNode.attachChild(sky);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,68 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2009-2012 jMonkeyEngine
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* * Redistributions 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 'jMonkeyEngine' nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.scene.Spatial;
|
|
||||||
import com.jme3.texture.Texture;
|
|
||||||
import com.jme3.util.SkyFactory;
|
|
||||||
|
|
||||||
public class TestSkyLoadingPrimitives extends SimpleApplication {
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
|
||||||
TestSkyLoadingPrimitives app = new TestSkyLoadingPrimitives();
|
|
||||||
app.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void simpleInitApp() {
|
|
||||||
/*
|
|
||||||
Texture west = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_west.jpg");
|
|
||||||
Texture east = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_east.jpg");
|
|
||||||
Texture north = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_north.jpg");
|
|
||||||
Texture south = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_south.jpg");
|
|
||||||
Texture up = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_up.jpg");
|
|
||||||
Texture down = assetManager.loadTexture("Textures/Sky/Lagoon/lagoon_down.jpg");
|
|
||||||
*/
|
|
||||||
|
|
||||||
Texture west = assetManager.loadTexture("Textures/Sky/Primitives/primitives_positive_x.png");
|
|
||||||
Texture east = assetManager.loadTexture("Textures/Sky/Primitives/primitives_negative_x.png");
|
|
||||||
Texture north = assetManager.loadTexture("Textures/Sky/Primitives/primitives_negative_z.png");
|
|
||||||
Texture south = assetManager.loadTexture("Textures/Sky/Primitives/primitives_positive_z.png");
|
|
||||||
Texture up = assetManager.loadTexture("Textures/Sky/Primitives/primitives_positive_y.png");
|
|
||||||
Texture down = assetManager.loadTexture("Textures/Sky/Primitives/primitives_negative_y.png");
|
|
||||||
|
|
||||||
Spatial sky = SkyFactory.createSky(assetManager, west, east, north, south, up, down);
|
|
||||||
rootNode.attachChild(sky);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
package jme3test.android;
|
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
|
||||||
import com.jme3.light.AmbientLight;
|
|
||||||
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.shape.Sphere;
|
|
||||||
import com.jme3.util.TangentBinormalGenerator;
|
|
||||||
|
|
||||||
public class TestUnshadedModel extends SimpleApplication {
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
|
||||||
TestUnshadedModel app = new TestUnshadedModel();
|
|
||||||
app.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void simpleInitApp() {
|
|
||||||
Sphere sphMesh = new Sphere(32, 32, 1);
|
|
||||||
sphMesh.setTextureMode(Sphere.TextureMode.Projected);
|
|
||||||
sphMesh.updateGeometry(32, 32, 1, false, false);
|
|
||||||
TangentBinormalGenerator.generate(sphMesh);
|
|
||||||
|
|
||||||
Geometry sphere = new Geometry("Rock Ball", sphMesh);
|
|
||||||
Material mat = assetManager.loadMaterial("Textures/Terrain/Pond/Pond.j3m");
|
|
||||||
mat.setColor("Ambient", ColorRGBA.DarkGray);
|
|
||||||
mat.setColor("Diffuse", ColorRGBA.White);
|
|
||||||
mat.setBoolean("UseMaterialColors", true);
|
|
||||||
sphere.setMaterial(mat);
|
|
||||||
rootNode.attachChild(sphere);
|
|
||||||
|
|
||||||
PointLight pl = new PointLight();
|
|
||||||
pl.setColor(ColorRGBA.White);
|
|
||||||
pl.setPosition(new Vector3f(4f, 0f, 0f));
|
|
||||||
rootNode.addLight(pl);
|
|
||||||
|
|
||||||
AmbientLight al = new AmbientLight();
|
|
||||||
al.setColor(ColorRGBA.White);
|
|
||||||
rootNode.addLight(al);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/buttonsContainer"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
>
|
|
||||||
<TextView
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="copyright (c) 2009-2010 JMonkeyEngine"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="http://www.jmonkeyengine.org"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
>
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/buttonsContainer"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="fill_parent">
|
|
||||||
<!--
|
|
||||||
<Button
|
|
||||||
android:id="@+id/SimpleTextured"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
android:text="Simple Textured"
|
|
||||||
android:layout_weight="1"
|
|
||||||
/>
|
|
||||||
-->
|
|
||||||
</LinearLayout>
|
|
||||||
</LinearLayout>
|
|
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<item
|
|
||||||
android:id="@+id/about_button"
|
|
||||||
android:title="@string/about"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/quit_button"
|
|
||||||
android:title="@string/quit"
|
|
||||||
/>
|
|
||||||
</menu>
|
|
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<string name="app_name">JMEAndroidTest</string>
|
|
||||||
<string name="about">About</string>
|
|
||||||
<string name="quit">Quit</string>
|
|
||||||
</resources>
|
|
Loading…
x
Reference in New Issue
Block a user