[Bf-committers] BlenderPocket and iPhone/iTouch
johnmadstone at yahoo.it
johnmadstone at yahoo.it
Tue Sep 29 06:34:00 CEST 2009
bf-committers-request at blender.org wrote:
> I don't see why they'd reject it?
> In any case, it's an awesome project, and I don't wish to discourage
> it, but it may be easier to wait until after the Cocoa port, then you
> only need to move it from Cocoa to Cocoa Touch which should be far
> easier that going from Carbon -> Cocoa Touch.
I am an iPhone developer. If you can wait a little, I can help you for
development and publish iPhone-Blender on the App Store.
The only problem would be that, while I have no problem to share the
code under GPL, I would prefer to not ship the application on App Store
for free. This is because App Store is not free of charge for
developers. Though, I could be agree to donate part of the earning to
About the Cocoa port of Blender for Mac OS X, I have to say that Cocoa
Touch is quite different from Cocoa. For example for the kind of
drawable surface that is provided for OpenGL ES drawing operations.
Though, it is essentially simple. You just have to provide a custom
UIView, with a EAGLLayer as the view layer, attach it to the UIWindow
and make them fullscreen. Inside the GL view, then, you have to
initialize the context and the framebuffers (color, depth, ...), and set
the main framebuffer as the content property of the EAGLLayer.
Then, it remains only the events handling part. It is one of the biggest
problems we are encountering with OS X/Cocoa port. For that I know,
Cocoa Touch does not provide
-nextEventMatchingMask:untilDate:inMode:dequeue: method, therefore you
probably have to refactor Blender event dispatching system (placed in WM
and GHOST) to make it work for iPhone OS.
The most funny part, of Blender for iPhone, would be the design of user
interaction, implementing/using gestures, and other nice things.
One of the worst things will be that you have to avoid Python! It would
violate the Agreement. No language interpreter is permitted!
> On 27 Sep, 2009, at 6:59 AM, joe wrote:
>>>> Huh? What leads you to say that you need to jailbreak it
>>> Because for a while it was the case that the the SDK for the
>>> iPhone/iPodTouch was under NDA. I thought that was still the case,
>>> actually, until I just now looked it up (they have apparently
>>> withdrawn the NDA terms). But I'm not surprised that Salvatore
>>> thought it still was, especially given Apple's generally controlling
>>> practices with the iPhone.
>>> Anyway, so originally the SDK was totally incompatible with the
>>> GPL: developers literally weren't allowed to share their code under
>>> the NDA, whereas the GPL requires them to do so. And since Blender
>>> GPL, a port using that SDK wouldn't have been distributable.
Only Cocoa Touch and other iPhone APIs was bind to NDA.
OpenGL ES, C++, Objective-C, C Standard, libxml2, SQLite, ... are not
Apple's APIs. Therefore, they are not bind to NDA.
Though you are right, if you don't get a special permission from Blender
Foundation, to release only the non-Apple part of your code, things
would be hard.
After all, to simply use Jailbreak is not a solution. Using it to
publish applications is actually a violation of Apple Agreement.
But all this discussion could be a total waste of time because, at the
current state of the NDA, it seems that you can share your code, if your
application is already published on the App Store.
More information about the Bf-committers