Finding a cross-platform method for basic 2D / 3D graphics for iOS and Android

I am developing the application separately for Android and iOS using my own SDKs. However, the application has some kind of module that should support basic 2D (it can also be 3D), such as tilting, scaling, rotating vector graphics + all kinds of optional fancy effects on simple textured planes, for example.

I would like to place this module inside some kind of kin view and that its code will be shared by both iOS and Android platforms.

I hid on the Internet for all kinds of solutions.

  • First of all, OpenGL, the problem is that I am not familiar with OpenGL coding, and I could not understand whether the code that I will write with OpenGL will be shared between the two platforms. It seems no one actually tried to do this with NDK, etc.
  • There are platforms like

    but. Clutter (http://www.clutter-project.org/) - Which I could not find any example for using it on mobile devices.

    b. Platforms like Unity3D, although I don’t think they could help me much, because, as I understand it, the whole application should work on its platform, and this is not what I am looking for.

So, you guys think you can split 2d / 3d code between iOS and Android? If so, is there any method you could recommend?

Or should I just go with each native device method for 2D or 3D graphics?

Thanks!

+8
android ios opengl-es clutter
source share
3 answers

Kivy : An open source cross-platform programming language for writing drawings, interfaces, visual effects in OpenGL, whatever, for Linux, Windows, MacOSX, Android, and iOS. kivy.org

You can potentially refuse to use your own Android or iOS widgets for the Kivy widget, and applications will have the same OpenGL-based interface on all platforms.

EDIT 9/27/11 1pm: I did some more research. In general, you should check out these 4 open source frameworks for yourself and decide which one is best for you (I could list commercial structures, but they are easy to find):

  • Kivy ( kivy.org )
    • An amazing library of GUI and widget.
  • HaxeNME ( haxenme.org )
    • Very nice 2D / 3D API for creating OpenGL graphics.
    • Amazing cross-platform support. The best of all frameworks.
    • Unfortunately, no GUI or Widget libraries have been created.
  • Qt Quick QML ( qt-project.org )
    • Very nice 2D / 3D API for creating OpenGL graphics.
    • Similar to HTML, but for OpenGL. Already know HTML and JavaScript? QML (Quick Markup Language) includes basic essentials, such as text boxes, radio buttons, check boxes, etc., which can be animated and controlled using event handlers. Animations, event handlers, etc. In your application, QML is written in JavaScript; the difference is that JavaScript is compiled instead of interpreted.
    • Qt Quick is really awesome; my personal favorite. Read Qt Quick QML, and then try the Animated Tiles app for Android to see the potential of Qt Quick. The latest version of Qt (very soon) supports iOS, Android and Blackberry, as well as all desktop OS. Windows Phone is working, but will soon conclude that Qt Quick already supports the Windows 8 Metro platform. Qt Quick is very nice, but it does not work on every platform, for example HaxeNME.
  • MoSync ( mosync.com )
    • Hidden stone. This structure requires a greater degree of impact. The MoSync SDK provides a cross-platform OpenGL platform, an HTML / JavaScript framework similar to PhoneGap, a NativeUI platform for writing applications on different platforms using each platform's widgets and MAUI for writing C ++ graphical interfaces.
    • If you were gunna just by writing pure OpenGL, I would at least recommend checking MoSync, as it provides an implementation of OpenGL ES 1.0 / 2.0 from 1 to 1.

In addition, if your application is based on a form (not as many animated as a game), then PhoneGap can satisfy your needs. If you use the right HTML5 features, you can create applications that feel native (unlike many horrible and discouraging examples). If you want to try an app made with PhoneGap that seems like a native, try Go 2012 . Go 2012 apps prove that if you use HTML5 correctly, you can use hardware acceleration on all platforms (iOS, Android, Blackberry and Windows Phone (I tested them on all)). Animation (scrolling, etc.) In Go 2012, it's CSS3 hardware accelerated animation. Don't let the poor quality of most applications in PhoneGap showcase fool you!

+6
source share

Use OpenGL ES and write the code in C. Write the NDK shell for Android. Theoretically, your GL C open source should be reused between two platforms.

+1
source share

Have you ever flock about a small brand name adobe

Try using Air.

People don't appreciate the hard work Adobe has done, but it is the strongest cross platform available on the market!

It is supported:

  • Windows with DirectX support to speed up your application in both 3D and 2D.
  • Linux
  • Android (2.2 and higher) with OpenGL background
  • iOS with OpenGL
  • Blackberry

And many more ... If you want to work at a high level, use Air!

+1
source share

All Articles