iPhone support

Some of you might think I'm crazy and other's might already know xmlvm.



To say it at the beginning, I didn't try it yet but it might be very interesting:



XMLVM is a project that let's you convert .class-files (and .net-clr files) into xml-files. This xml-files then

can be translated into different targets and also objective c. They already implemented an compatibilty layer you can write your android-application against and create iphone objective c-sourcecode including makefiles out of it. (It seems  that) all you have to do is to run the makefile on a MAC. Kev Glass implemented the opengl-translation and one nehe-lesson is included as example.



Here some links:



XMLVM - Overview

XMLVM - iPhone/Objective-C

http://www.cokeandcode.com/aboidblog



opengl-compatlib (in sourcefolder src/xmlvm2objc/compat-lib/java ):

org…xmlvm.iphone.gl



Maybe if we take the existence of xmlvm in account from the beginning jME3 might have a chance to be translated to iPhone as well.



Take a look and say what you think.






you're crazy!



But it's definitely a worthy suggestion :slight_smile: It'd be quite the feat, but it also adds to our range of prospective devs a little seeing as this wouldn't be anything like the other Java-projects up for grabs so far.

Very interesting idea :). It would be awesome if JMonkeyEngine would work on IPhone!

It's been considered :slight_smile:

However to me this is just as bad as starting an android port, it means more "work fragmentation" for jme3 which can be bad.

Of course you're free to attempt this yourself, I prefer to avoid it myself because:

  1. I do not have an iPhone
  2. I do not have a Mac

    So I cant really test.
1. I do not have an iPhone
2. I do not have a Mac


Well, me neither! Just wanted to mention it!

Keep on rocking....
Momoko_Fan said:

It's been considered :)
However to me this is just as bad as starting an android port, it means more "work fragmentation" for jme3 which can be bad.
Of course you're free to attempt this yourself, I prefer to avoid it myself because:


There is a chance that I get a job as a developer, where I have to draw maps in OpenGL. If I get the job then I get to use IPhone and Mac :). Then I can look into it. It will come clear this month if I get the job.
Henri said:
There is a chance that I get a job as a developer, where I have to draw maps in OpenGL. If I get the job then I get to use IPhone and Mac :). Then I can look into it. It will come clear this month if I get the job.
Oooh, cool for you man. Let us know!

Yes I will.

  1. I like crazy ideas.  :smiley: Please let the iPod Touch support it too.


  2. Hm, I'm trying to understand what that means. Naive question: What about the .DLLs and .so files etc that the class files depend on, you have to rewire everything from LWJGL to an objective C version of OpenGLES?

Afaik the only "official" way to do it would be a conversion process from a jme/java app to an iPhone app as described in ttrochas frst post. The only way to get java run on iPhone is via a jailbreak.

Like Momoko I think that a converter tool should not be included in jme3 but rather be an external project. If such a project should be started and changes in jme3 should become necessary due to that then of course these could be made.

2. Hm, I'm trying to understand what that means. Naive question: What about the .DLLs and .so files etc that the class files depend on, you have to rewire everything from LWJGL to an objective C version of OpenGLES?


Actually when I understood it right you have to write against something like an interface that uses the opengl-es calls on the java-side. Compile the code, convert it to xmlvm. Then when xmlvm converts that to objectiv-c the xmlvm->objectivc-converter have to know how to map the opengles-interface you used to the corresponding objectiv-c opengl-iphone-call. This work has been done by kevglass already (as it seems).

So you only need lwjgl on the java-side as the iphone sdk has its own opengl-binding, similiar to the android one.

Have a look at the openGL sample in the xmlvm-repository and have a look here:
http://www.cokeandcode.com/node/1400

and

http://xmlvm.svn.sourceforge.net/viewvc/xmlvm/trunk/xmlvm/src/xmlvm2objc/compat-lib/java/org/xmlvm/iphone/gl/

Especially the GL.java

Which is converted into something like this:
http://xmlvm.svn.sourceforge.net/viewvc/xmlvm/trunk/xmlvm/src/xmlvm2objc/compat-lib/objc/org_xmlvm_iphone_gl_GL.h?revision=567&view=markup
http://xmlvm.svn.sourceforge.net/viewvc/xmlvm/trunk/xmlvm/src/xmlvm2objc/compat-lib/objc/org_xmlvm_iphone_gl_GL.m?view=log

(Everyone who have more clue about all of this might correct me...)


Please let the iPod Touch support it too.

As far as I know iPod Touch is more or less the same as the iPhone except the phone...

You know, if nothing else, the iMat would be plain awesomesauce for games ;D



With other competing engines like Unity offering both flavors, we’d be unwise to not seriously consider and even test our options at hand. Other possible venues can be eyed already.



It’ll probably take more than a proof of concept (more like a working alpha) to get the core developers’ attention, but if achieved, it’d be big.