Right now it's focused on Android / Windows because that's the only thing I know but feel free to add your own stuff.
Download links
Irrlicht:
OGL-ES branch of Irrlicht project
Nightly builds provided by ent1ty
Glut required to compile Irrlicht library on Windows
Android:
Android SDK bundle
Android NDK
JDK (AND NOT JRE)
Apache Ant
Common problems
- Meshes with over 65535 triangles:
- Textures with width or height different than a power of 2 don't work on some mobiles.CuteAlien wrote:2 problems responsible for that. First in COGLESDriver.cpp (also in ES2 driver). There getMaximalPrimitiveCount() returns always 65535 - that's the check where it fails in your case (and which probably isn't quite correct, but I won't modify it for now as I'm not familiar enough with the code). You should get an error for that in the error.log in debug (with: adb logcat Irrlicht:V *:S).
But even when trying to increase that constant it won't work here because my device doesn't have the GL_OES_element_index_uint extension which is needed to support 32-bit drawElements calls (https://www.khronos.org/registry/gles/e ... x_uint.txt). And given that I have a rather new device (moto g) it's probably a better idea to split your models into smaller blocks than expecting devices to have support for it.
Setting up your Windows environment for Android
First of all, you need to set up your environment variables.
1) Opening the window: (Windows + R) and type "Environment variables"
2) SYSTEM VARIABLES
inside "PATH" Variable - You should put everything in the same variable, each path separated by a ;
Nota: disregard the comments in (parenthesis)
Code: Select all
D:\adt-bundle-windows-x86_64-20131030\sdk\platform-tools; (Platform tools - you'll mostly use "adb")
D:\adt-bundle-windows-x86_64-20131030\sdk; (the SDK)
D:\apache-ant-1.9.3\bin; (Apache Ant binaries)
D:\android-ndk-r9c; (the NDK)
Add:
Nota: disregard the comments in (parenthesis)
Code: Select all
JAVA_HOME C:\Program Files\Java\jdk1.7.0_45 (it should point to your JDK, obviously)
ANDROID_HOME D:\adt-bundle-windows-x86_64-20131030\sdk (it should point to the SDK)
1) Open command tool (Windows +R) and type cmd
2) Go in your project root directory
3)
Code: Select all
ndk-build
4)
Code: Select all
ant debug
5)
Code: Select all
cd bin
6)
Code: Select all
adb -d install HelloWorld-debug.apk
7) It's done.
Tips & Tricks
Explanation on .mk files
Removing the "three vertical dot" button
Stack overflow question about removing the three dot indicator*
Basically, either you overload the java, either you modify your minimal SDK version to 14 (which means Android 4.0)
Change the minimal SDK version
Android SDK versions history
Official android statistics (API version distribution, device sizes, OGL version distribution)
Code: Select all
AndroidManifest.xml <uses-sdk android:minSdkVersion="10"/>
project.properties target = android-10
jni/Application.mk APP_PLATFORM := android-10
Code: Select all
jni/Android.mk LOCAL_MODULE := YourAppName
jni/Application.mk APP_MODULES := YourAppName
AndroidManifest.xml android:label="YourAppName" (2 places, one for the shortcut and one for the activity name) android:value="YourAppName" (library name)
build.xml <project name="YourAppName" default="help">
Inside jni/Application.mk, add:
Code: Select all
APP_STL := stlport_static
Either you add each one manually, either you use a regular expression.
Adding manually .cpp files
Open jni/Android.mk - Add them one by one (separated with a space)
Code: Select all
LOCAL_SRC_FILES := main.cpp android_tools.cpp game.cpp
Open jni/Android.mk - Add the directories
Code: Select all
LOCAL_C_INCLUDES := ../../include ../../../bullet-2.82-r2704/src
Code: Select all
#must be placed at the beginning of the .mk
LOCAL_PATH := $(call my-dir)/..
LOCAL_SRC_FILES := $(addprefix $(LOCAL_PATH)/, $(notdir $(wildcard $(LOCAL_PATH)/*.cpp)))