Android Port
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'
......
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'
......
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!
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!
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 )
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 )
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 }
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 }
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!
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!
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.
On the bottom of the file just uncomment the demo you want to activate accordingly.
Code: Select all
void nativeDrawIteration()
{
//nativeDrawIterationSydney();
//nativeDrawIterationQuake();
//nativeDrawIterationIrr();
}
Irrlicht Port on Android
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.
- 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.