Hello,
I am writing a simple code and try to run it on android
public void simpleInitApp() {
cam.setLocation(new Vector3f(35f, 35f, 35f));
cam.lookAt(new Vector3f(0, 0, 0), new Vector3f(0, 1, 0));
DirectionalLight sun = new DirectionalLight();
sun.setDirection(new Vector3f(10f, -10f, -20f));
sun.setColor(ColorRGBA.White);
rootNode.addLight(sun);
int SHADOWMAP_SIZE = 512;
DirectionalLightShadowRenderer dlsr = new DirectionalLightShadowRenderer(assetManager, SHADOWMAP_SIZE, 1);
dlsr.setLight(sun);
viewPort.addProcessor(dlsr);
DirectionalLightShadowFilter dlsf = new DirectionalLightShadowFilter(assetManager, SHADOWMAP_SIZE, 1);
dlsf.setLight(sun);
dlsf.setEnabled(true);
FilterPostProcessor fpp = new FilterPostProcessor(assetManager);
fpp.addFilter(dlsf);
viewPort.addProcessor(fpp);
rootNode.setShadowMode(RenderQueue.ShadowMode.CastAndReceive);
Box box1 = new Box(20, 0, 20);
Geometry geom1 = new Geometry("Ground", box1);
Material mat1 = new Material(getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
mat1.setColor("Color", ColorRGBA.Blue);
geom1.setMaterial(mat1);
rootNode.attachChild(geom1);
Box box2 = new Box(2, 2, 2);
Geometry geom2 = new Geometry("Box", box2);
Material mat2 = new Material(getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
mat2.setColor("Color", ColorRGBA.Red);
geom2.setMaterial(mat2);
rootNode.attachChild(geom2);
}
And i got this error:
Exception thrown in Thread[GLThread 73370,5,main]
com.jme3.renderer.RendererException: compile error in:ShaderSource[name=Common/MatDefs/Shadow/PostShadow.frag, defines, type=Fragment, language=GLSL100] error:Fragment shader compilation failed.
ERROR: 0:40: ‘sampler2DShadow’ : Reserved word.
ERROR: 0:40: ‘sampler2DShadow’ : Syntax error: syntax error
ERROR: 2 compilation errors. No code generated.
at com.jme3.renderer.android.OGLESShaderRenderer.updateShaderSourceData(OGLESShaderRenderer.java:887)
at com.jme3.renderer.android.OGLESShaderRenderer.updateShaderData(OGLESShaderRenderer.java:912)
at com.jme3.renderer.android.OGLESShaderRenderer.setShader(OGLESShaderRenderer.java:970)
at com.jme3.material.Material.render(Material.java:1116)
at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:507)
at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:322)
at com.jme3.renderer.queue.RenderQueue.renderShadowQueue(RenderQueue.java:331)
at com.jme3.shadow.AbstractShadowRenderer.postFrame(AbstractShadowRenderer.java:478)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:987)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1029)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:252)
at com.jme3.app.AndroidHarness.update(AndroidHarness.java:467)
at com.jme3.system.android.OGLESContext.onDrawFrame(OGLESContext.java:349)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1535)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Is it any way to get shadows on adroid?