Page 1 of 1

love-native-android: Status update

Posted: Sun Jan 06, 2013 9:29 pm
by Moe
Hey guys,
I wish you a happy new year!
I thought it might be time for a short status update, since I am stuck in some debugging of the OpenGL ES renderer and this delays the next release. But first things first: As I announced a while ago, I started to port version 0.8.0 to Android. I decided that it should be a clean port instead of a hack-like one as 07.2. Therefore, I added plenty of modules to add Android support and we have only a few files left that differ from the original version. So maybe, we will try to push Android back to mainline. This would make life much easier in the future, and support of other OpenGL ES based devices would be easier.

So, the current status: Löve 0.8.0 compiles and links fine, audio and input work as well, but at the moment, joystick support is limited and I did not integrate the new input devices (touch, sensors). The are still some bugs in the new OpenGL ES 2.0 renderer. Unfortunately, I do not have a device which allows GPU debugging with some cool tools, so this will take some more time. After that, I will also need to add modules for new input devices (sensors and touch), so that we are "lövelier". I also want to switch OpenAL since our current version causes some bugs. Packaging support is already integrated.
If you are curious or enjoy debugging, you will find the code in the love-0.8.0 branch.

No demo apk, since you will not enjoy a black screen. ;)

Re: love-native-android: Status update

Posted: Sun Jan 06, 2013 11:32 pm
by bartbes
As for nice debugging, what about using mesa on linux? It has a GLES2 renderer as well (though it may be separately packaged).

Re: love-native-android: Status update

Posted: Mon Jan 07, 2013 3:12 pm
by dudeabot
hi what kind of opengles 2 bug?

i heard about tegra devices being able to debug with nvidia tools, if you have one thats one option

im using the opengles2 java files from ndk code and it has worked quite well for now, the cpp code i burrowed here: http://projects.developer.nokia.com/spr ... eBatch.cpp, its nice cause there is spritebatch integrated in the shader code. (i found it hard to add new shaders though..)

well it works for my projects, not sure how it wuold fit on love though

Re: love-native-android: Status update

Posted: Mon Jan 07, 2013 7:24 pm
by T-Bone
It's good to hear that development is still going strong!

Re: love-native-android: Status update

Posted: Mon Jan 07, 2013 9:25 pm
by Moe
dudeabot wrote:hi what kind of opengles 2 bug?
The output is somewhere off-screen. Before I upload the values and shader to GPU, everything looks fine. But there must be a bug somewhere that I do not see. Maybe I flipped a matrix or some other simple thing...
i heard about tegra devices being able to debug with nvidia tools, if you have one thats one option
Yes and no. I never managed to get good results with PerfHUD ES on an AMD graphics card... Oh man, the NVIDIA developer zone changed to "register to download" and "wait for manual activation"... Let's see about AMD's OpenGL ES implementation on a desktop GPU and if gDebugger is as great as it used to be.

Re: love-native-android: Status update

Posted: Mon Jan 07, 2013 11:21 pm
by dudeabot
cool :)

well i usually test my stuff on desktop, i downloaded the POWERVR SDK, it comes with libs and dlls for visual studio, and i can code opengl es 2 and EGL just like android (pretty much, without the java code of course QQ) and its free

Re: love-native-android: Status update

Posted: Tue Jan 08, 2013 9:59 am
by slime
I plan to restructure the internals of the OpenGL graphics module of the main love source in such a way that it will easily support GLES2 (and core GL3+) as well as desktop OpenGL in the same module with runtime detection for both and no duplicated code.

I would rather see a love-mobile than a love-android. ;)

Re: love-native-android: Status update

Posted: Tue Jan 08, 2013 10:09 pm
by Moe
slime wrote:I plan to restructure the internals of the OpenGL graphics module of the main love source in such a way that it will easily support GLES2 (and core GL3+) as well as desktop OpenGL in the same module with runtime detection for both and no duplicated code.

I would rather see a love-mobile than a love-android. ;)
Well, the ES code should run on desktop GL without a lot of changes - I think we need to remove the precision line in the fragment shader only. Hm, saying this, it make me think about why I want to debug it as ES... Yes, this noise was my head hitting the desk. :)
The code is already free of glBegin and all the deprecated things, so after bugfixing and optimising it, you might want to port my changes back ;)

I try to make all modules as little Android-dependent as possible. We have one file that manages the complete interaction with Android and uses C/C++ interfaces to interact with love. I guess that we could change them to be general mobile and to have specific connector for Android. E.g. our input stuff is already like this, if we would change the names from Android to mobile. :) It might make sense to have a common mobile development?

Re: love-native-android: Status update

Posted: Wed Jan 09, 2013 5:01 pm
by T-Bone
It would definitely make a lot of sense. If nothing else, it would significantly simplify the task of porting löve to iOS or WP8 (although the latter is a bit tricky without OpenGL I guess).