For my new app, I want to have a native iOS or Android UI, plus a 3d view that shows some graphs. While my initial plan to use CSS transforms in a WebView to achieve the desired 3d effect has failed because the performance was not anywhere near usable, I'm looking for another solution. Here are what I think are my options:
1. Recreate the scene in OpenGL ES
I'd recreate our graphing engine completely in OpenGL. This would certainly be possible, but probably be very hard to do for people like me who actually never did 3d programming before. Would it be possible to port OpenGL code written for iOS to Android? Or would I have to create the engine twice?
2. Use readymade 3d engine like Unity3d
I stumbled over Unity3d, Marmalade and similar tools that would probably help me create the 3d scenes more easily. However, it seems at a first glance like I would have to create the entire application in the respective authoring system. I'd to use native controls for anything except the 3d view. Is that possible in those tools? If yes, is it possible to port the 3d from iOS to Android or vice versa?
Did I ask the right questions; did I make the correct assumptions? Does anything sound wrong to you? What did I miss?
Are these all the options I have? Or is there maybe something else, a hybrid solution of some sorts?
Which option should I choose?
Edit: To clarify, I don't want to show iOS or android controls inside the 3d view, but rather around it: The user interface would be native and the 3d part would be contained inside one view.