[SOLVED] ogl-es branch, shader driver (2), not rendering

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by Nadro »

Shaders which require transparency and hardware blending.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
vivekSivamRP
Posts: 66
Joined: Sat Sep 29, 2012 11:58 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by vivekSivamRP »

i did't notice any problem in hardware blending , but in Transparency . Whether or not the node's MaterialType is set as Transparent , custom shaders applies transparency to nodes, if the Alpha value for the fragment if below 1.0 (i.e vec4( R,G,B, A) if A < 1.0 ).if transparency is not needed we decided to set Alpha value as 1.0 in all case .
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by Nadro »

I should be back to OGL ES2 development in this week, currently I improve standard OGL driver.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
feelthat
Posts: 194
Joined: Sat Feb 02, 2013 5:27 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by feelthat »

Android GLES 2.0 source from

android unofficial
https://github.com/reizencroft/irrAndroid

android and ios svn unofficial on date 2013/09/01 OGLES 1.1, build in ios and android quick
svn://rtsoft.com/rtsvn/proton

android and ios unofficial
https://github.com/kexplo/irrlicht_ogl-es

android and ios svn official
http://svn.code.sf.net/p/irrlicht/code/branches/ogl-es

If anyone build example on GLES 2.0 both in ios and android successful please post a thread here
Last edited by feelthat on Fri Aug 30, 2013 10:48 am, edited 8 times in total.
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by Nadro »

I build Irrlicht (OGL ES2.0) for both iOS and Android without problems (official ogl-es branch). This version of Irrlicht I used eg. in SkyDevil (game is available on AppStore) and all works fine (without any custom patches).
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
feelthat
Posts: 194
Joined: Sat Feb 02, 2013 5:27 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by feelthat »

could you paste the download irrlicht sdk source address or email
fatalfeel@yahoo.com.tw
Please

Do you mean this http://svn.code.sf.net/p/irrlicht/code/branches/ogl-es
Does this have complete sample?

1. Could you paste the download irrlicht sdk source address or email
2. Does Nadro's irrlicht sdk ogles 2.0 have complete sample project can build on xcode and android ndk?
3. Which date on Svn or Git is stable, that you suggest us download?

Is this SkyDevil real app download address
https://itunes.apple.com/us/app/sky-dev ... &ls=1&mt=8

Nadro wrote:I build Irrlicht (OGL ES2.0) for both iOS and Android without problems (official ogl-es branch). This version of Irrlicht I used eg. in SkyDevil (game is available on AppStore) and all works fine (without any custom patches).
Last edited by feelthat on Thu Aug 29, 2013 6:00 pm, edited 1 time in total.
CuteAlien
Admin
Posts: 9634
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by CuteAlien »

You already found it ( http://svn.code.sf.net/p/irrlicht/code/branches/ogl-es ).
No official releases for ogl-es so far, which means you have to use that branch for now.
Latest version is usually the best version. And it contains an example in it's examples.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
feelthat
Posts: 194
Joined: Sat Feb 02, 2013 5:27 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by feelthat »

thank you

an example, one exmaple only right?
CuteAlien wrote:You already found it ( http://svn.code.sf.net/p/irrlicht/code/branches/ogl-es ).
No official releases for ogl-es so far, which means you have to use that branch for now.
Latest version is usually the best version. And it contains an example in it's examples.
CuteAlien
Admin
Posts: 9634
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by CuteAlien »

The 17.HelloWorld_Mobile example.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
feelthat
Posts: 194
Joined: Sat Feb 02, 2013 5:27 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by feelthat »

Thanks again!

Question:
1.If want to make the others example by myself like 02.Quake3Map 08.SpecialFX on ios and android
Can it works good?

2. 17.HelloWorld_Mobile -> AndroidManifest.xml
<uses-feature android:glEsVersion="0x00010000" android:required="true"/>
but OGLES 2.0 need
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
Is the example setting correct?
CuteAlien wrote:The 17.HelloWorld_Mobile example.
Last edited by feelthat on Fri Aug 30, 2013 9:56 am, edited 1 time in total.
feelthat
Posts: 194
Joined: Sat Feb 02, 2013 5:27 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by feelthat »

Dear all:

In iOS build in Xcode 4.6 successful and quick here is photo
http://www.rtsoft.com/forums/attachment ... 1377853936

but when build in Linux of Ubuntu have problem

root@ubuntu:~/irrlicht_ogles2/source/Irrlicht/Android#ndk-build
.
.
.
StaticLibrary : libcrystax.a
Prebuilt : libcrystax_static.a <= <NDK>/sources/crystax/libs/armeabi/4.6.3/
StaticLibrary : libandroid_native_app_glue.a
Prebuilt : libgnustl_static.a <= <NDK>/sources/cxx-stl/gnu-libstdc++/libs/armeabi/4.6.3/
StaticLibrary : libIrrlicht.a
cp obj/local/armeabi/libIrrlicht.a jni/../../../../lib/Android
until now build done, no problem

But in the sample have some problem
root@ubuntu:~/irrlicht_ogles2/examples/17.HelloWorld_Mobile# ndk-build
Gdbserver : [arm-linux-androideabi-4.6.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
SharedLibrary : libHelloWorldMobile.so
jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o):CIrrDeviceAndroid.cpp:function typeinfo for irr::gui::ICursorControl: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o):CIrrDeviceAndroid.cpp:function typeinfo for irr::IrrlichtDevice: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o):CIrrDeviceAndroid.cpp:function typeinfo for irr::CIrrDeviceAndroid: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
jni/../../../lib/Android/libIrrlicht.a(CAndroidAssetFileArchive.o):CAndroidAssetFileArchive.cpp:function typeinfo for irr::io::IFileArchive: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libHelloWorldMobile.so] Error 1
root@ubuntu:~/irrlicht_ogles2/examples/17.HelloWorld_Mobile#

Question:
1. How to fix example 17.HelloWorld_Mobile build error?
2. because no Java source code here like "System.loadLibrary(dll_name)", how do I make HelloWorld_Mobile.apk in to my android phone?
CuteAlien wrote:The 17.HelloWorld_Mobile example.
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by Nadro »

Hi,

This is log from rev4528, where you can find info how to build example no. 17 on Android:
1. Assign your Android SDK path to ANDROID_HOME environment variable.
2. Add Android SDK (ANDROID_HOME) and Android NDK to your PATH environment variable.
3. Go to: source->Irrlicht->Android and call "ndk-build" or "ndk-build NDEBUG=1"
4. Go to: examples->17.HelloWorld_Mobile and call "ndk-build" or "ndk-build NDEBUG=1"
5. Call "ant debug" to create package
6. Connect device to PC (with USB debugging mode ON) or turn on emulator.
7. Call "adb -d install bin/HelloWorldMobile-debug.apk" (if you use emulator please add "-e" parameter instead of "-d") to install package on your device/emulator.
8. That's all! Now you can run example.
What about other questions. You are right that only one "android:glEsVersion" attribute in manifest file is require. Other examples need some modifications related to mobile apps structure (example no. 17 have this structure applied for both iOS and Android) + multi touch support (built-in camera doesn't works well with multi touch).

Jou need JAVA code eg. for load *.so libraries, pass GLSurfaceView (Irrlicht need small modifications for support it), add Admob support and some other Android services. Anyway you can use JNI for those things.

Currently I'm too much busy, so I can't send you precompiled binaries.

What about SkyDevil? You can download paid version form posted link and free version from here:
https://itunes.apple.com/us/app/sky-dev ... 73611?mt=8
Also free versions for PC are available on our official website, so you can test this game without access to mobile device (PC version offer the same feature as mobile).

Cheers,
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
feelthat
Posts: 194
Joined: Sat Feb 02, 2013 5:27 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by feelthat »

thanks a lot Nadro.

Step 3. is done and ok
Step 4. is error how to fixed it?

jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o):CIrrDeviceAndroid.cpp:function typeinfo for irr::gui::ICursorControl: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o):CIrrDeviceAndroid.cpp:function typeinfo for irr::IrrlichtDevice: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o):CIrrDeviceAndroid.cpp:function typeinfo for irr::CIrrDeviceAndroid: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
jni/../../../lib/Android/libIrrlicht.a(CAndroidAssetFileArchive.o):CAndroidAssetFileArchive.cpp:function typeinfo for irr::io::IFileArchive: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libHelloWorldMobile.so] Error 1

Nadro wrote:Hi,

This is log from rev4528, where you can find info how to build example no. 17 on Android:
1. Assign your Android SDK path to ANDROID_HOME environment variable.
2. Add Android SDK (ANDROID_HOME) and Android NDK to your PATH environment variable.
3. Go to: source->Irrlicht->Android and call "ndk-build" or "ndk-build NDEBUG=1"
4. Go to: examples->17.HelloWorld_Mobile and call "ndk-build" or "ndk-build NDEBUG=1"
5. Call "ant debug" to create package
6. Connect device to PC (with USB debugging mode ON) or turn on emulator.
7. Call "adb -d install bin/HelloWorldMobile-debug.apk" (if you use emulator please add "-e" parameter instead of "-d") to install package on your device/emulator.
8. That's all! Now you can run example.
What about other questions. You are right that only one "android:glEsVersion" attribute in manifest file is require. Other examples need some modifications related to mobile apps structure (example no. 17 have this structure applied for both iOS and Android) + multi touch support (built-in camera doesn't works well with multi touch).

Jou need JAVA code eg. for load *.so libraries, pass GLSurfaceView (Irrlicht need small modifications for support it), add Admob support and some other Android services. Anyway you can use JNI for those things.

Currently I'm too much busy, so I can't send you precompiled binaries.

What about SkyDevil? You can download paid version form posted link and free version from here:
https://itunes.apple.com/us/app/sky-dev ... 73611?mt=8
Also free versions for PC are available on our official website, so you can test this game without access to mobile device (PC version offer the same feature as mobile).

Cheers,
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by Nadro »

It looks like a problem with compiler. Do you use NDK r8e or 9?
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
feelthat
Posts: 194
Joined: Sat Feb 02, 2013 5:27 am

Re: [SOLVED] ogl-es branch, shader driver (2), not renderin

Post by feelthat »

i use this android-ndk-r7-crystax-5.beta3
because it can help me debug .cpp in eclipse

I build it on reizencroft version is ok.( https://github.com/reizencroft/irrAndroid )

Could help me, maybe just application.mk problem

I tried android-ndk-r8-crystax-1-linux-x86.tar.bz2, same error

root@ubuntu:~/irrlicht_ogles2/examples/17.HelloWorld_Mobile# ndk-build
Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Compile++ thumb : HelloWorldMobile <= main.cpp
Compile thumb : android_native_app_glue <= android_native_app_glue.c
StaticLibrary : libandroid_native_app_glue.a
SharedLibrary : libHelloWorldMobile.so
/usr/local/android-ndk-r8-crystax-1/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o): in function typeinfo for irr::gui::ICursorControl:CIrrDeviceAndroid.cpp(.data.rel.ro._ZTIN3irr3gui14ICursorControlE+0x0): error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
/usr/local/android-ndk-r8-crystax-1/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o): in function typeinfo for irr::IrrlichtDevice:CIrrDeviceAndroid.cpp(.data.rel.ro._ZTIN3irr14IrrlichtDeviceE+0x0): error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
/usr/local/android-ndk-r8-crystax-1/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/Android/libIrrlicht.a(CIrrDeviceAndroid.o): in function typeinfo for irr::CIrrDeviceAndroid:CIrrDeviceAndroid.cpp(.data.rel.ro+0x0): error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
/usr/local/android-ndk-r8-crystax-1/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: jni/../../../lib/Android/libIrrlicht.a(CAndroidAssetFileArchive.o): in function typeinfo for irr::io::IFileArchive:CAndroidAssetFileArchive.cpp(.data.rel.ro._ZTIN3irr2io12IFileArchiveE+0x0): error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libHelloWorldMobile.so] Error 1

Nadro wrote:It looks like a problem with compiler. Do you use NDK r8e or 9?
Last edited by feelthat on Fri Aug 30, 2013 4:01 pm, edited 1 time in total.
Post Reply