Android Port

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
tonic
Posts: 69
Joined: Mon Dec 10, 2007 6:18 pm
Contact:

Re: Android Port

Post by tonic »

Did you try adding assets/ to front of your filenames, since own data files get put to such a folder inside the .apk?

But yeah, there is something un-implemented in the irr zip reader, I have noticed it too. For example, I once noticed that if I made a zip on a Mac, then the reader could find only one file in the zip. My theory was that the Mac probably made some kind of weird zip with multiple chunks and irr zip reader was able to read only the first one, with a single file. Using classic zip cmdline program worked fine on the same computer.
skreamz_
Posts: 24
Joined: Sun Jan 17, 2010 9:56 pm

Re: Android Port

Post by skreamz_ »

i've checked the file list using irrlicht zip reader, half my files were missing.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Android Port

Post by hybrid »

IIRC, we have had a problem with endianess in the zip reader. Might occur here, as it's on an embedded system.
skreamz_
Posts: 24
Joined: Sun Jan 17, 2010 9:56 pm

Re: Android Port

Post by skreamz_ »

if it was endianess i would expect all files to be missing, as they are all read the same way, then again, i'm probably talking crap. lol.
nerith
Posts: 4
Joined: Tue Mar 27, 2012 2:06 pm

Re: Android Port

Post by nerith »

Hello,
this link seems dead:
http://www.scigems.org/downloads/

does anybody have a downloadable version of the irrlicht-android version ?


edit:
https://gitorious.org/irrlichtandroid
nerith
Posts: 4
Joined: Tue Mar 27, 2012 2:06 pm

Re: Android Port

Post by nerith »

hello again,

everything works fine with ogles1,
but when i try to draw the scene manager with ogles2,
I get a text event "GL_INVALID_OPERATION".
And when I destroy the renderer I got this error message:
"call to OpenGL ES API with no current context"

somebody know what it means ?
qidaozhilong2
Posts: 17
Joined: Sun Apr 01, 2012 3:51 pm

Re: Android Port

Post by qidaozhilong2 »

nerith wrote:hello again,

everything works fine with ogles1,
but when i try to draw the scene manager with ogles2,
I get a text event "GL_INVALID_OPERATION".
And when I destroy the renderer I got this error message:
"call to OpenGL ES API with no current context"

somebody know what it means ?
I think the Android 2.1 only support OGEL1.x,
and the Android 2.2+ support OGEL2.0.

Maybe this will help you. :)
reizencroft
Posts: 1
Joined: Sat Jun 02, 2012 1:48 am

Re: Android Port

Post by reizencroft »

I have made an attempt on making ogles2 work and was somehow successful. I forked it from the ogles branch(r4073) and borrowed some code from the OP.

here's github link:
https://github.com/reizencroft/irrAndroid

and a video of example 8 running on Samsung Galaxy S2(android 2.3)
http://youtu.be/TPtO4UDSMrM
codetiger
Posts: 103
Joined: Wed May 02, 2012 9:24 am
Location: Chennai, India
Contact:

Re: Android Port

Post by codetiger »

@reizencroft
Wow, nice work. I always wanted to do it. :)
IrrNaCl - Irrlicht Port for Google Chrome Native Client - Demo

Iyan 3D - Make your own 3d animation using your iOS Device
kaliber
Posts: 117
Joined: Sat Jan 17, 2009 12:51 pm

Re: Android Port

Post by kaliber »

anyone know why the code :
setMaterialFlag(EMF_LIGHTING,false);
is not working ??
qidaozhilong2
Posts: 17
Joined: Sun Apr 01, 2012 3:51 pm

Re: Android Port

Post by qidaozhilong2 »

@reizencroft, Hi~
I've downloaded your source code(.Zip) from the link https://github.com/reizencroft/irrAndroid
And as you recommended, to xxx/examples/08.SpecialFX, and compile this with "$NDK/ndk-build"

But, some compile errors occur:
"
In file included from jni/../../../source/Irrlicht/CImage.cpp:8:
jni/../../../source/Irrlicht/CBlit.h: In function 'void irr::executeBlit_TextureBlend_16_to_16(const irr::SBlitJob*)':
jni/../../../source/Irrlicht/CBlit.h:790: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make: *** [obj/local/armeabi/objs/IrrAndroid/CImage.o] Error 1
"

and my NDK version is "android-ndk-r7b-windows"
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: Android Port

Post by hybrid »

Yeah, ok. But the bug report should go to the gcc people, not to us...
zhengxianfu
Posts: 16
Joined: Thu Apr 05, 2012 9:33 am

Re: cannot bind texture on android 2.3

Post by zhengxianfu »

This problem has been solved.

Code: Select all

 
COGLESTexture.cpp:getBestColorFormat: 
"destFormat=ECF_A1R5G5B5;" 
 
OR Invoke:
driver->setTextureCreationFlag(ETCF_ALWAYS_16_BIT,true);
 
Refer to http://irrlicht.sourceforge.net/forum/v ... 8&start=45 by Willem.
Thanks.
pmtolk wrote:01-07 03:11:10.684: INFO/log(28446): Irrlicht Engine version 1.7.0-beta
01-07 03:11:10.684: INFO/Irrlicht(28446): CIrrDeviceAndroid::CIrrDeviceAndroid
01-07 03:11:10.684: INFO/Irrlicht(28446): CIrrDeviceAndroid::createDriver
01-07 03:11:10.684: INFO/log(28446): Using renderer: OpenGL ES-CM 1.1
01-07 03:11:10.684: INFO/log(28446): Qualcomm
01-07 03:11:10.684: INFO/log(28446): GL_AMD_compressed_3DC_texture GL_AMD_compressed_ATC_texture GL_AMD_performance_monitor GL_APPLE_texture_2D_limited_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_type_2_10_10_10_REV GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_depth_texture GL_OES_draw_texture GL_OES_framebuffer_object GL_OES_matrix_palette GL_OES_packed_depth_stencil GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_rgb8_rgba8 GL_OES_stencil_wrap GL_OES_EGL_image GL_OES_texture_cube_map GL_OES_texture_env_crossbar GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_texture_mirrored_repeat GL_QCOM_binning_control GL_QCOM_extended_get GL_QCOM_tiled_rendering
01-07 03:11:10.694: INFO/log(28446): GL_INVALID_ENUM
01-07 03:11:10.694: INFO/log(28446): Could not bind Texture
01-07 03:11:10.694: INFO/Irrlicht(28446): createDevice r=3048792 w=320 h=480
01-07 03:11:10.694: INFO/Irrlicht(28446): getVideoDriver r=3049488
01-07 03:11:10.694: INFO/Irrlicht(28446): resize w=320 h=519
01-07 03:11:11.194: INFO/log(28446): Loaded mesh
01-07 03:11:11.214: INFO/log(28446): Loaded texture
01-07 03:11:11.214: INFO/Irrlicht(28446): add texture
01-07 03:11:11.214: INFO/Irrlicht(28446): beginScene

This is the complete Log Error

I encounter the same problem when using HTC G14 which also use qualcom ,texture doesn't render.

Does anyone know how to solve this problem?
Thanks in advance.
Last edited by zhengxianfu on Tue Jul 24, 2012 9:34 am, edited 2 times in total.
zhengxianfu
Posts: 16
Joined: Thu Apr 05, 2012 9:33 am

Re: Android Port(Using with GLES2 problem)

Post by zhengxianfu »

I have already compiled with _IRR_COMPILE_WITH_OGLES2_ ,Copy those .vsh .fsh into /mnt/sdcard/irrlicht/

There is error when createShader (COGLES2SLMaterialRenderer.cpp:343), glGetShaderiv return error ,and the program crash.

And also ,there are many :called unimplemented OpenGL ES API.
Here is the Logcat :

07-23 12:53:18.282: I/log(32557): Irrlicht Engine version 1.7.0-beta
07-23 12:53:18.292: I/Irrlicht(32557): CIrrDeviceAndroid::CIrrDeviceAndroid
07-23 12:53:18.302: I/Irrlicht(32557): CIrrDeviceAndroid::createDriver
07-23 12:53:18.302: I/log(32557): OpenGL-ES2 initialized
07-23 12:53:18.312: I/Irrlicht(32557): OGLES2 initialized
07-23 12:53:18.312: I/log(32557): Using renderer: OpenGL ES-CM 1.1
07-23 12:53:18.312: I/log(32557): Qualcomm
07-23 12:53:18.312: I/log(32557): GL_AMD_compressed_ATC_texture GL_AMD_performance_monitor GL_APPLE_texture_2D_limited_npot GL_ARB_vertex_buffer_object GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_type_2_10_10_10_REV GL_OES_blend_equation_separate GL_OES_blend_func_separate GL_OES_blend_subtract GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_depth_texture GL_OES_depth24 GL_OES_draw_texture GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_framebuffer_object GL_OES_matrix_palette GL_OES_packed_depth_stencil GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_rgb8_rgba8 GL_OES_stencil_wrap GL_OES_texture_cube_map GL_OES_texture_env_crossbar GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_texture_mirrored_repeat GL_QCOM_binning_control GL_QCOM_extended_get GL_QCOM_tiled_rendering GL_AMD_compressed_3DC_texture
07-23 12:53:18.312: I/log(32557): load shader: /mnt/sdcard/Irrlicht/COGLES2FixedPipeline.vsh
07-23 12:53:18.312: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.312: I/log(32557): createShader.
07-23 12:53:18.312: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.312: I/log(32557): Loading shader
07-23 12:53:18.312: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.312: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.312: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.312: I/log(32557): glGetShaderiv error.
07-23 12:53:18.312: I/log(32557): ����l,(,�l�
07-23 12:53:18.312: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.312: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.312: I/log(32557):
07-23 12:53:18.312: I/log(32557): Error reading fixed pipeline vertex shader.
07-23 12:53:18.322: I/log(32557): createShader.
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557): Loading shader
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557): glGetShaderiv error.
07-23 12:53:18.322: I/log(32557): ����l,(,�l�
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557):
07-23 12:53:18.322: I/log(32557): Error reading fixed pipeline fragment shader.
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557): GLSL shader program failed to link
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557): He@He@ard/
07-23 12:53:18.322: I/log(32557): Error linking fixed pipeline shader program.
07-23 12:53:18.322: I/log(32557): Shader loaded
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557): load shader: /mnt/sdcard/Irrlicht/COGLES2Renderer2D.vsh
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557): createShader.
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
07-23 12:53:18.322: I/log(32557): Loading shader
07-23 12:53:18.322: E/libEGL(32557): called unimplemented OpenGL ES API
Last edited by zhengxianfu on Tue Jul 24, 2012 9:35 am, edited 1 time in total.
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: Android Port

Post by Nadro »

Look at this log:
Using renderer: OpenGL ES-CM 1.1
It looks like You try use OGL ES2 methods in OGL ES1 context, thats why You have these errors.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Post Reply