Make running programs on Android possible
Since OPENRNDR and many Android apps are developed in Kotlin, it should be possible to run OPENRNDR applications in mobile devices.
This a link to the Processing-Android mode for reference: https://github.com/processing/processing-android
- [ ] Create an OpenGLES driver #103
(add more steps here or below)
Help from Android developers experienced in its architecture are welcome :)
Deciding that it is too much effort to maintain such a component is also an option that shouldn't be discarded. It's probably better to have something that works very well on desktop than to have desktop + android but less polished.
A discussion about a proof of concept https://app.slack.com/client/TAR5246MP/CEASC1PB7/thread/CEASC1PB7-1612087493.184600
Code can be found at https://github.com/ArthurVimond/openrndr-android-poc (does not use a new GLES driver).
Interested in looking into this; is https://github.com/ArthurVimond/openrndr-android-poc a good starting point? Were there any discussions around other possible implementations? (Slack link doesn't reveal discussion) 🙏🏼
Hi hi :) Yes, a pity that the Slack thread expired :(
As I understand, the better way to do it is to create a GLES rendering backend which would make it compatible with Raspberry Pi as well. Edwin mentioned in Slack that it's "a bit of an undertaking". I think it may help that the shaders have now a JavaScript compatible version.
Here is the JVM version containing GL3 graphics https://github.com/openrndr/openrndr/tree/master/openrndr-jvm
And here the JS version using WEBGL https://github.com/openrndr/openrndr/tree/master/openrndr-js/openrndr-webgl
Even a NULLGL version (to run without graphics?) https://github.com/openrndr/openrndr/tree/master/openrndr-nullgl
Then there's https://github.com/openrndr/openrndr/tree/master/openrndr-application/src
But I don't know how many classes or folders would need to be worked on.
I think what https://github.com/ArthurVimond/openrndr-android-poc tried to do was to recreate the API and mapping drawing operations to a common way of doing those in Android (I may be wrong). But doing that would take work to maintain (or maybe not even doable, in case the OPENRNDR API provides something that it's hard to re-create using the existing Android drawing APIs.
LWJGL for Android might make things easier?
https://github.com/LWJGL/lwjgl3/issues/715