AndEngine VS Android's Canvas VS OpenGLES - For rendering a 2D indoor vector map

Posted by Orchestrator on Stack Overflow See other posts from Stack Overflow or by Orchestrator
Published on 2012-03-31T11:22:30Z Indexed on 2012/03/31 11:30 UTC
Read the original article Hit count: 500

This is a big issue for me I'm trying to figure out for a long time already. I'm working on an application that should include a 2D vector indoor map in it. The map will be drawn out from an .svg file that will specify all the data of the lines, curved lines (path) and rectangles that should be drawn.

My main requirement from the map are

  1. Support touch events to detect where exactly the finger is touching.
  2. Great image quality especially when considering the drawings of curved and diagonal lines (anti-aliasing)
  3. Optional but very nice to have - Built in ability to zoom, pan and rotate.

So far I tried AndEngine and Android's canvas. With AndEngine I had troubles with implementing anti-aliasing for rendering smooth diagonal lines or drawing curved lines, and as far as I understand, this is not an easy thing to implement in AndEngine. Though I have to mention that AndEngine's ability to zoom in and pan with the camera instead of modifying the objects on the screen was really nice to have.

I also had some little experience with the built in Android's Canvas, mainly with viewing simple bitmaps, but I'm not sure if it supports all of these things, and especially if it would provide smooth results.

Last but no least, there's the option of just plain OpenGLES 1 or 2, that as far as I understand, with enough work should be able to support all the features I require. However it seems like something that would be hard to implement. And I've never programmed in OpenGL or anything like it, but I'm willing very much to learn.

To sum it all up, I need a platform that would provide me with the ability to do the 3 things I mentioned before, but also very important - To allow me to implement this feature as fast as possible.

Any kind of answer or suggestion would be very much welcomed as I'm very eager to solve this problem!

Thanks!

© Stack Overflow or respective owner

Related posts about android

Related posts about opengl-es