[Bf-committers] BlenderPocket and iPhone/iTouch

johnmadstone at yahoo.it johnmadstone at yahoo.it
Tue Sep 29 06:34:00 CEST 2009


Hello guys,


bf-committers-request at blender.org wrote:
> Joe:
>
> I don't see why they'd reject it?
>
> Salvatore:
>
> 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.
>
> Cheers,
>
> -W
>   

Joe:

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 
Blender Foundation.

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  
>>> is
>>> 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.

Marco, Triest


More information about the Bf-committers mailing list