* Fixed crash in TestCinematic

* Fixed crash in LightList.sort()
 * Removed usage of Arrays.copyOf() in BitmapFont, so Android can run it
 * Formatted OGLESShaderRenderer

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7668 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
sha..rd 14 years ago
parent a6300ba55b
commit c727d3e006
  1. 748
      engine/src/android/com/jme3/renderer/android/OGLESShaderRenderer.java
  2. 11
      engine/src/core/com/jme3/font/BitmapFont.java
  3. 2
      engine/src/core/com/jme3/light/LightList.java
  4. 3
      engine/src/lwjgl-ogl/com/jme3/renderer/lwjgl/LwjglRenderer.java
  5. 5
      engine/src/niftygui/com/jme3/niftygui/NiftyJmeDisplay.java
  6. 2
      engine/src/test-data/Interface/Nifty/CinematicTest.xml
  7. 23
      engine/src/test/jme3test/animation/TestCinematic.java

@ -204,8 +204,15 @@ public class BitmapFont implements Savable {
charSet.merge(newFont.charSet);
final int size1 = this.pages.length;
final int size2 = newFont.pages.length;
this.pages = Arrays.copyOf(this.pages, size1+size2);
System.arraycopy(newFont.pages, 0, this.pages, size1, size2);
Material[] tmp = new Material[size1+size2];
System.arraycopy(this.pages, 0, tmp, 0, size1);
System.arraycopy(newFont.pages, 0, tmp, size1, size2);
this.pages = tmp;
// this.pages = Arrays.copyOf(this.pages, size1+size2);
// System.arraycopy(newFont.pages, 0, this.pages, size1, size2);
}
public void setStyle(int style) {

@ -223,7 +223,7 @@ public final class LightList implements Iterable<Light>, Savable, Cloneable {
}
// now merge sort tlist into list
SortUtil.msort(tlist, list, 0, listSize, c);
SortUtil.msort(tlist, list, 0, listSize - 1, c);
}
}

@ -69,7 +69,6 @@ import com.jme3.util.BufferUtils;
import com.jme3.util.IntMap;
import com.jme3.util.IntMap.Entry;
import com.jme3.util.ListMap;
import java.io.File;
import java.nio.ByteBuffer;
import java.nio.DoubleBuffer;
import java.nio.FloatBuffer;
@ -2069,7 +2068,7 @@ public class LwjglRenderer implements Renderer {
int programId = context.boundShaderProgram;
if (programId > 0) {
Attribute attrib = boundShader.getAttribute(vb.getBufferType().name());
Attribute attrib = boundShader.getAttribute(vb.getBufferType());
int loc = attrib.getLocation();
if (loc == -1) {
return; // not defined

@ -35,6 +35,7 @@ package com.jme3.niftygui;
import com.jme3.asset.AssetInfo;
import com.jme3.asset.AssetKey;
import com.jme3.asset.AssetManager;
import com.jme3.asset.AssetNotFoundException;
import com.jme3.audio.AudioRenderer;
import com.jme3.input.InputManager;
import com.jme3.post.SceneProcessor;
@ -71,7 +72,11 @@ public class NiftyJmeDisplay implements SceneProcessor {
public InputStream getResourceAsStream(String path) {
AssetKey<Object> key = new AssetKey<Object>(path);
AssetInfo info = assetManager.locateAsset(key);
if (info != null){
return info.openStream();
}else{
throw new AssetNotFoundException(path);
}
}
public URL getResource(String path) {

@ -3,7 +3,7 @@
<screen id="start" controller="de.lessvoid.nifty.examples.helloworld.HelloWorldStartScreen">
<layer id="layer" backgroundColor="#0000" childLayout="center">
<panel id="panel" width="100%" backgroundColor="#0000" childLayout="center" visibleToMouse="true" >
<text id="text" font="aurulent-sans-17.fnt" color="#000f" text="" align="center" valign="bottom" />
<text id="text" font="aurulent-sans-16.fnt" color="#000f" text="" align="center" valign="bottom" />
</panel>
</layer>
</screen>

@ -56,6 +56,7 @@ import com.jme3.math.FastMath;
import com.jme3.math.Vector3f;
import com.jme3.post.FilterPostProcessor;
import com.jme3.post.filters.FadeFilter;
import com.jme3.renderer.Caps;
import com.jme3.renderer.queue.RenderQueue.ShadowMode;
import com.jme3.scene.CameraNode;
import com.jme3.scene.Geometry;
@ -94,7 +95,7 @@ public class TestCinematic extends SimpleApplication {
createScene();
cinematic = new Cinematic(rootNode, 20);
cinematic.bindUi("jme3test/animation/subtitle.xml");
cinematic.bindUi("Interface/Nifty/CinematicTest.xml");
stateManager.attach(cinematic);
createCameraMotion();
@ -158,7 +159,6 @@ public class TestCinematic extends SimpleApplication {
@Override
public void onPause() {
}
});
@ -215,7 +215,6 @@ public class TestCinematic extends SimpleApplication {
model.setShadowMode(ShadowMode.CastAndReceive);
rootNode.attachChild(model);
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
mat.setColor("Color", ColorRGBA.Cyan);
@ -225,8 +224,6 @@ public class TestCinematic extends SimpleApplication {
teapot.setShadowMode(ShadowMode.CastAndReceive);
rootNode.attachChild(teapot);
Material matSoil = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
matSoil.setBoolean("UseMaterialColors", true);
matSoil.setColor("Ambient", ColorRGBA.Gray);
@ -242,24 +239,22 @@ public class TestCinematic extends SimpleApplication {
light.setColor(ColorRGBA.White.mult(1.5f));
rootNode.addLight(light);
fpp = new FilterPostProcessor(assetManager);
fade = new FadeFilter();
fpp.addFilter(fade);
if (renderer.getCaps().contains(Caps.GLSL100)){
PssmShadowRenderer pssm = new PssmShadowRenderer(assetManager, 512, 1);
pssm.setDirection(new Vector3f(0, -1, -1).normalizeLocal());
pssm.setShadowIntensity(0.4f);
viewPort.addProcessor(pssm);
fpp = new FilterPostProcessor(assetManager);
//fpp.setNumSamples(4);
fade = new FadeFilter();
fpp.addFilter(fade);
viewPort.addProcessor(fpp);
}
}
private void initInputs() {
inputManager.addMapping("togglePause", new KeyTrigger(keyInput.KEY_RETURN));
ActionListener acl = new ActionListener() {
public void onAction(String name, boolean keyPressed, float tpf) {
if (name.equals("togglePause") && keyPressed) {
if (cinematic.getPlayState() == PlayState.Playing) {
@ -271,8 +266,6 @@ public class TestCinematic extends SimpleApplication {
}
};
inputManager.addListener(acl, "togglePause");
}
}

Loading…
Cancel
Save