Thursday, August 8, 2013

[android-developers] Re: 3D model importer / engine for Android / Android NDK for use with Vuforia - what do you use?

Hi,

http://lmgtfy.com/?q=convert+collada+to+opengl

Maybe have a look at https://github.com/KhronosGroup/glTF and http://sourceforge.net/projects/colladaloader/

Regards

On Thursday, August 8, 2013 9:15:51 PM UTC+10, Daniele Segato wrote:
Hi,

I'm scouting for a 3D model importer library.
I'd like it to have support for COLLADA and FBX format.

Our iOS team is using NinevehGL engine: http://nineveh.gl/
which is just perfect... but for iOS only.

Do you know of something similar for Android?

I want to add a quote from Diney Bomfim, the author of NinevehGL:
If you choose a 3D engine, like PowerVR, SIO2, Oolong, UDK, Ogre and many others, you'll be stuck inside their APIs and their implementation of OpenGL. If you choose a third party API just to load a 3D file, you will need to integrate the third party class to your own implementation of OpenGL.

Another choice is to search a plugin to your 3D software to export your objects as a .h file. The .h is just a header file containing your 3D objects in the OpenGL array format. Unfortunately, until today I just saw 2 plugins to do this: One to Blender made with Phyton and another made with Pearl and both was horribles. I never seen plugins to Maya, 3DS Max, Cinema 4D, LightWave, XSI, ZBrush or Modo.

Which I think is true for Android too.
iOS developers has the option to solve those issues by using NinevehGL.
Do we have some option like that for Android?
 

My specific need is a library that interact well with Vuforia - http://www.qualcomm.com/solutions/augmented-reality
which is a library for Augmented reality using NDK and a C++ library. Vuforia examples show, via OpenGL, the camera and overlay upon it a very simple 3D model defined in .h files.
I need something to keep all that and just change the model / underling database of features detections.

My scouting results until now:
  • JOGL - https://jogamp.org/jogl/www/ - this is a Java library that just act as a bind to OpenGL®, OpenCL™, OpenAL and OpenMAX APIs inside Java - to my needs it's not that much of an help, I only need OpenGL to show a 3D model and this library doesn't provide a way to import one - nor has anything more then what I can already use with NDK
  • Min3D - http://code.google.com/p/min3d/ - this is a Java library to import OBJ, 3DS and D2D models, many guide talks about it but it seems pretty dead project, no commit since 2011 and it use a Scene object which somewhat collide with the way Vuforia use OpenGL
  • JPCT-AE http://www.jpct.net/jpct-ae/index.html - this is another java library which expose a very simple 3d engine and import for 3DS, OBJ, MD2, ASC which is horribly written (IMHO) for Android
  • Assimp (Open Asset Import Library) - http://assimp.sourceforge.net/ - this is a C/C++ library for importing almost any 3D model around (including COLLADA and FBX), it "just" provide methods to import the models and should work very well - but that's no version for Android even if some folks actually managed to use it with Android (http://jazzyjester.wordpress.com/2013/02/02/test/)
  • Unity3D - http://unity3d.com/ - Very complete 3D crossplatform framework, in my company we already use it, too bad you can't integrate it very nicely with a native application that just use 3D with Vuforia in a fragment.
My current effort is aimed at trying to integrate Assimp into a Vuforia Sample and I'll then write plain OpenGL commands to render it.

I had to study NDK, C++, OpenGL all together and this is taking a while.[1]

I hope you have other suggestions and that this discussion may prove helpful to others.

Regards,
Daniele Segato

[1]  Furthermore I'm encountering issues with the pre-compiled libassimp.so library provided at the link above by jazzyjester which apparently doesn't have the symbol for a aiScene de-constructor - and when I compile it own my own for some reason it say the target missmatch. But that's little off-topic right now

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment