I have for quite some time now tried to port Ogre to Android. There was problem with cmake for cygwin to make the compilation, but after taking the code from
Ogre 1.8 with pre-compiled
dependencies, I managed to compile in Eclipse with some minor changes to solve compilation errors with parts from
this mk file. Along with it was added initialization and drawing code specified
here and parts from the sample code that came along Ogre. The startup code was made in Java with its dependencies, and later the native library was called in the same manner GameKit does, with two functions where one is the initialization and the other is the drawing routine. Due to Android limitations, NativeActivity is not used. Ogre and its dependencies are pre-compiled to reduce the time of the compilation when changes are made to the actual program.
Everything is loaded nicely, with proper debugging output and and no errors or crashes.
The problem that occurs is that even if everything
works it doesn't display anything but the viewport background. The camera and the model loaded have been moved several times to ensure they are in the correct position. The viewport background color changes on the fly to verify the drawing routine is working properly. The compiled Ogre library was even copied to the Ogre sample program and compiled with success. Still, it does only display a black screen(Which probably could be changed to whatever color I like to).
Additional information on the setup:
Code: Select all
Eclipse: 4.2.1
Android SDK Tools: 21.0.1
Android NDK: r8c
Android API: 8
Ogre: 1.8
STL: gnustl(libc++)
ABI: armeabi-v7a
Features: exceptions rtti
OpenGL ES: 2.0
I have fallen flat to find a solution to this problem and it bugs me that GameKit managed to port their Ogre properly. Especially when I try to compile GameKit it gives the same problem as above, but when I use a pre-compiled version of GameKit, it works fine.
I assume that that I am clear at my point and the reader have the knowledge about said libraries. If there is any diffuse holes in my description I may explain it in further detail.