[SOLVED] Basic JME3 Android Gradle Script

Thanks Pavel. I found the problem - it was because of me adding the DirectionalLightShadowFilter.
I removed this filter and now the App is not crashing. I’m using Android 8.0 in the emulator with OpenGL ES 2.0

1 Like

If DirectionalLightShadowFilter doesn’t work on Android, that’s a bug, isn’t it?

1 Like

I think it’s a known limitation. From the docs:

Effects: Android devices do no support 3D features as well as PCs – or even not at all. This restriction includes post-processor filters (depth-of-field blur, bloom, light scattering, cartoon, etc), drop shadows, water effects, 3D Audio. Be prepared that these effects will (at best) slow down the application or (in the worst case) not work at all. Provide the option to switch to a low-fi equivalent!

2 Likes

Pleasure :slight_smile: , it should work if you use OGLES3.0 device or emulator or later.

EDIT: I think, we may need to secure this updater method :

with a OGLES version or GLSL version checker, so that a message is upto the user when the driver cannot render extra complicated textures like PostProcessorFilters to inform him that the current driver doesn’t support a current operation…

This is a debate in my mind, jme3 android natives says that Positional Audio (3d audio) doesn’t support mono channels (single speakers) & my device doesn’t support stereo option, yet some apps provide the stereo option for all android devices, so it’s a matter that needs investigation…

Thank you guys. I made some progress and now a simple 3 lines test program is running on both PC & Android!!

4 Likes

It kind of seems like, if you knew the problem, and you knew how to solve it, you could have just solved it.

If you wanted a car for you birthday, and I gave it to you, would you also expect me to keep the gas tank full? You’re the one who wanted the car. You’re the one who drives it.

It’s your first post in this forum so it makes you kind of a Troll. I think you should be kicked out of the forum.

3 Likes

Hey @Tryder , @jennyaknit , be nice, this dude @sgold is working tirelessly to support the engine & the community, read discourse community guidelines before posting…

1 Like

Interesting. So, then, if he didn’t work tirelessly to support the jMonkeyEngine community it wouldn’t bother you one bit how he was treated?

Forgive me, as you can imagine I’ve been under a bit of stress as of late. I may not work tirelessly to support the jMonkeyEngine community specifically, but, apparently, I do do something and whatever it is that I do I must do it well enough to have aroused some particular form of attention.

P.S. Jenny is with me. She decided to say something because she doesn’t like the way people replied to me. I didn’t know she was going to say anything nor did I have any intention of returning to this forum.

Obviously you all think so little of me and my contributions to this or any other community. I must be a liar or crazy I know. Certainly not honest and even if I was who cares right? Makes no difference to you.

1 Like

@Tryder

Im just spectator here,
but i feel like you both @Tryder and “new account” @jennyaknit have some issue noone know about.

Reason:

  • Noone blame you
  • Noone insult you
  • Noone “forced” you to do anything (Sgold even done it himself just after deny of help)
  • your sentences like “She decided to say something because she doesn’t like the way people replied to me.” Where noone ever replied wrong to you.

If im wrong, please provide any quote that was “against you”. except mine now(because cant write it other way)… to clarify, im not against, just see no reason why you post this things, so i thought you might answer me, where you see issue here?

1 Like

I think I made the whos and the whats pretty clear in my first post on this thread. The two replies I received were dismissive and passively accusatory. I’m not going to bother quoting anyone as I’m not trying to prove anything here.

I had no intention of continuing this conversation as minds were already made up as to the circumstances I had originally posted. It just seems morbid to me is all.

Jenny decided to say something so I felt I should clear that up. Forget the disruption to your daily routine and go back to living in the world as you believe it to be.

dont be so rude to me :frowning: for me its very unclear what you wrote. How do you know who he voted to? why you angry at him? why dont be friends?

Succinct and rude are two different things. Perhaps succinct comes off as rude if you’re not native to the language spoken. Generally I prefer to be succinct, sometimes maybe even borderline curt I suppose, but I don’t think so in this case.

Why don’t be friends? Oh I’d be happy to be friends. Let me just get this knife out of my back first.

Summary of how this all started:
OP: Hey, sgold can you fix this dependency issue?
sgold: that’s a dependency I pick up from a different library, that’s an issue for that library’s developer
library’s developer: why should I bend over backwards? etc. claims of violence and so on.

Seems like a bit of an over reaction. Just a bit.

Could have also just responded: “I don’t support that library anymore… someone else will have to make the changes.”

5 Likes

The truth of the matter isn’t that you find my claims hard to believe. Like it’s any secret that governments assassinate political opponents and journalists like Jamal Kashoggi or Alexei Navalny.

The truth is that you simply don’t care, but that makes you look like a bad person so instead you have to act like my claims are obsurd so you can go about your life pretending not to be a heartless coward.

Besides, it doesn’t really matter that you believe me or not. I didn’t expect you to. I expected you to fight vehemently to preserve your world view. Generally assassins prefer to remain invisible. Regardless of what you think of me, just coming here and making a stink about it probably bought me several more weeks or perhaps even months.

Overreaction or not. I’m more concerned about my life than I am about your ego.

:stuck_out_tongue_winking_eye:

P.S. It happens a lot more often than you think. Most of the time the assassins succeed in making it look like an accident or natural causes. They’re rarely caught.

@Tryder. You have mentioned yourself that you have been under quite a lot of stress lately. I can read that from your posts. Please seek professional help. No one is getting assassinated by the government, these are paranoid thoughts, and these thoughts are increased when you have a lot of stress.

Seek professional help!

Eta: just some food for thought…

Your passing of such judgements only serves to expose your naivety. That is, your rejection of facts and their real-world consequences in favor of your duty- and obligation-based ethics.

Suspend your disbelief for just a moment, if you will, and consider the possibility that if one was evading assassination, one might encounter considerable stress.

even if…

its still no reason to blame anyone from here asking for help, since you dont even know who voted at who. And you want people have same stress as you have, while people prefer have happy life. Please, Leave this people alone.

and still, its not place to “expose stress”. could just say "no"

Hi Adi @adi.barda , to verify, i have just tested now, PBR shaders on GLES2.0 with GLSL1.0, & got this exception :

2021-05-13 18:31:52.491 3305-3336/com.scrappers.dbcodecamp E/AndroidRuntime: FATAL EXCEPTION: GLThread 132
    Process: com.scrappers.dbcodecamp, PID: 3305
    java.lang.UnsupportedOperationException: No technique 'Default' on material 'PBR Lighting' is supported by the video hardware. The capabilities [GLSL300] are required.
        at com.jme3.material.Material.selectTechnique(Material.java:776)
        at com.jme3.material.Material.render(Material.java:1000)
        at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:634)
        at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:273)
        at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:312)
        at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:897)
        at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:799)
        at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1128)
        at com.jme3.renderer.RenderManager.render(RenderManager.java:1180)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:273)
        at com.jme3.app.jmeSurfaceView.JmeSurfaceView.update(JmeSurfaceView.java:190)
        at com.jme3.system.android.OGLESContext.onDrawFrame(OGLESContext.java:350)
        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1571)
        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)

in which PBR isn’t supported by the GLES2.0, so to switch to GLES3.1 in the same emulator & you will got a support for :

  • PBR shaders
  • DL
  • DLSR
  • BloomFilter
  • Others

i know you haven’t faced that yet, but just in case you have faced it anyway !
Have a great day !

3 Likes