Android Port

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
ellis2323
Posts: 37
Joined: Fri Feb 05, 2010 5:33 pm

Sydney

Post by ellis2323 »

thx for the video.
ghd214
Posts: 4
Joined: Wed Mar 31, 2010 7:48 am

Post by ghd214 »

hi,

I am download irrlichtandroid project, then copy to android-ndk-1.6_r1/apps.

first "make APP=irrlicht" , successful.

but later I am changed file activity-android.cpp and app-android.cpp,

"make APP=irrlicht " have error, like that


Android NDK: Building for application 'irrlicht'
Compile++ arm : irrlicht <= apps/irrlicht/project/jni/COGLESDriver.cpp
In file included from apps/irrlicht/project/jni/COGLESDriver.h:33,
from apps/irrlicht/project/jni/COGLESDriver.cpp:5:
apps/irrlicht/project/jni/importgl.h:34:21: warning: GLES/gl.h: No such file or directory
apps/irrlicht/project/jni/importgl.h:35:24: warning: GLES/glext.h: No such file or directory
In file included from apps/irrlicht/project/jni/COGLESDriver.h:41,
from apps/irrlicht/project/jni/COGLESDriver.cpp:5:
apps/irrlicht/project/jni/COGLESExtensionHandler.h:136: error: 'GLfloat' does not name a type
apps/irrlicht/project/jni/COGLESExtensionHandler.h:138: error: 'GLfloat'
......
pera
Posts: 460
Joined: Wed May 14, 2008 1:05 pm
Location: Novi Sad, Serbia
Contact:

Post by pera »

you need that GLES folder
ghd214
Posts: 4
Joined: Wed Mar 31, 2010 7:48 am

Post by ghd214 »

thanks.

where I can get that?

Can you email to me ?

ghd.214@hotmail.com
ghd214
Posts: 4
Joined: Wed Mar 31, 2010 7:48 am

Post by ghd214 »

I make it !

thanks!
YanivP
Posts: 7
Joined: Thu Apr 01, 2010 10:09 am

Post by YanivP »

Hi,
I'm new to this forum (and to Irrlictht) but I'm very interested in your Android port. I'm planning to use it for a game that I'm currently designing.

I managed to compile everything from the master repository on gitorious. Slytron's instructions were very helpful!

One thing that I'm currently not sure about is that whenever I run the app on the emulator it simply closes after a few seconds. Is it currently supposed to do anything? (the one currently on "master" without modifications). I'm still in the "getting it working as it is" stage.
The "san-angeles" demo from the NDK works fine so it looks like I got the NDK working.

Any input? :)

Thanks!
pera
Posts: 460
Joined: Wed May 14, 2008 1:05 pm
Location: Novi Sad, Serbia
Contact:

Post by pera »

haven't tried it on emulator yet, but it should not close.
There are three examples, sydney-heloworld, quake2 map, and i forgot what is third. you need 3d models on sdcard or in asset folder.

have you tried running it on device?
YanivP
Posts: 7
Joined: Thu Apr 01, 2010 10:09 am

Post by YanivP »

I was able to run the quake demo apk. But I want to be able to compile that myself.

Hmm... Where are the example sources?
All I see is IrrlichtGLView.java, IrrlichtTest.java, Utils.java (other than the CPP sources which were compiled under the NDK)

Am I missed something?

(I don't own an android device yet :( )
YanivP
Posts: 7
Joined: Thu Apr 01, 2010 10:09 am

Post by YanivP »

I'm still trying to work out what's going on in the source.
I managed to successfully run Irrlicht-debug.apk and Irrlicht-Quake3.apk that I downloaded from http://www.scigems.org/downloads/ . So at least I know the emulator can run Irrlicht and that I got the files on the SD card right.

After reading some docs related to JNI I started to realize how this port is structured, however I still could not make it run :( It simply quits right after runtime without even a warning/exception. Just exists "normally".

This is the log from eclipse.. doesn't show anything abnormal.
[2010-04-03 18:00:55 - IrrlichtTest] ------------------------------
[2010-04-03 18:00:55 - IrrlichtTest] Android Launch!
[2010-04-03 18:00:55 - IrrlichtTest] adb is running normally.
[2010-04-03 18:00:55 - IrrlichtTest] Performing com.ellismarkov.irrlicht.IrrlichtTest activity launch
[2010-04-03 18:00:55 - IrrlichtTest] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'TestQVGA'
[2010-04-03 18:00:55 - IrrlichtTest] Uploading IrrlichtTest.apk onto device 'emulator-5554'
[2010-04-03 18:00:57 - IrrlichtTest] Installing IrrlichtTest.apk...
[2010-04-03 18:01:05 - IrrlichtTest] Success!
[2010-04-03 18:01:05 - IrrlichtTest] Starting activity com.ellismarkov.irrlicht.IrrlichtTest on device
[2010-04-03 18:01:09 - IrrlichtTest] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.ellismarkov.irrlicht/.IrrlichtTest }
YanivP
Posts: 7
Joined: Thu Apr 01, 2010 10:09 am

Post by YanivP »

Eureka!
After reading the "adb logcat" output (very useful tool!) I finally realized what was going on. The source was looking for the assets in /sdcard/Irrlicht/*.* instead of the sample APK /sdcard/*.* ... So the failure to load mesh caused the engine to crash.

So irrlicht is running on my emulator! Very cool!


Image
murlo
Posts: 1
Joined: Sat Apr 03, 2010 5:44 pm

Post by murlo »

YanivP wrote: Hmm... Where are the example sources?

I have the same question. Did the author include it or it available only as precompiled?

ellis2323 thank you for port
YanivP
Posts: 7
Joined: Thu Apr 01, 2010 10:09 am

Post by YanivP »

Murlo the examples can be found in app-android.cpp
On the bottom of the file just uncomment the demo you want to activate accordingly.

Code: Select all

void nativeDrawIteration()
{
    //nativeDrawIterationSydney();
    //nativeDrawIterationQuake();
    //nativeDrawIterationIrr();
}
YanivP
Posts: 7
Joined: Thu Apr 01, 2010 10:09 am

Post by YanivP »

ellis2323
Posts: 37
Joined: Fri Feb 05, 2010 5:33 pm

Irrlicht Port on Android

Post by ellis2323 »

Some informations about Irrlicht on Android:
- on G1, slow FPS with large textures (>512)
- on G1, lighting isn't working (only // spot are supported)
- on Droid/Milestone, lighting is working
- Material type EMT_ONETEXTURE_BLEND isn't working. EMT_SOLID, EMT_TRANSPARENT_ALPHA_CHANNEL, EMT_TRANSPARENT_ALPHA_CHANNEL_REF are fully functional
- Quads, Polygons and points aren't supported
- Emulator 2.1 can draw but many OpenGL ES functions aren't implemented. So warning...
- Quake3 Level run at 30fps (Droid) with free Camera but with FPS Camera (Physics) framerate drops to 8fps... FPU seems to be very slow on these CPUs.
- Irr loader, SkyBox and SkyDome are working

JNI can be used in two ways:
- Java call native functions
- C call Java functions
=> But warning, GL drawing isn't done in the UI Thread.

I have fixed EMT_ONETEXTURE_BLEND and will publish fixes as soon as possible.
YanivP
Posts: 7
Joined: Thu Apr 01, 2010 10:09 am

Post by YanivP »

ellis do you think this could be used for simple low texture scenes (for example, 10 or so boxes floating in mid air)? Or will that be too slow?
Post Reply