In my previous post, Augmented Reality on Android, I listed several AR libraries for Android. After reading and trying some of them, I finally decided to go with Qualcomm's QCAR. By great coincidence, QCAR's first production-ready release happened this week with version 1.0.0.
My reasons for choosing QCAR
- Official support for a great list of devices, old and recent
- Their demos, tested on my Samsung Galaxy S, are way snappier than other libraries I tried
- It recognizes partial markers (when partly in the camera's sight)
- Great developer guide and API documentation
- Great developer community (forums)
Loading a 3D model
As stated in my previous post, I need to load a 3D model over a marker when it comes in the camera's sight. The model I have to load is a .obj file, but QCAR only "works" with .h files (the usual way of doing things in OpenGL). I found two ways of solving this problem:
- Converting .obj file to .h file using this script: OBJ2OPENGL
- Using a second library to load .obj files
Right now, I'm trying both options. I've had success with the min3d library, but I'm experiencing some image distortion. I still have a lot of work to do. Like I said before, I'm no Android expert, and I'm still learning the basics. I'll be back soon with more on this subject. In the meantime, feel free to post any comment or question.
---- EDIT (September 9, 2011) ----
I am not working on this project anymore, but I'd like to let everyone know I didn't use min3d. I converted my 3D model to OpenGL ES .h file. Read this post for more information.