2008-12-08 7 views
5

Entwickeln für das iPhone war meine erste Erfahrung mit objective-c und ersten Erfahrungen mit xcode. Wie schwer wäre es, eine openGLES iPhone App mit openGL auf den OSX Desktop zu portieren? Ich frage nicht nach Benutzeroberfläche - offensichtlich gibt es keine Entsprechung zur Benutzeroberfläche von Kakao- Touch auf dem Desktop. Ich frage speziell nach den App-Delegaten und den openGLES-Layern. Gibt es irgendwelche großen Hürden? Ist es so einfach, einfach einen neuen App-Delegaten in einem Projekt vom Typ Kakao zu erstellen?Portierung iPhone OpenGLES App auf OSX?

Antwort

8

Ich habe angefangen, in genau die gleiche Sache zu suchen, und es scheint, dass OpenGL-schwere Anwendungen zu den am leichtesten Backport auf den Mac gehören würden. So ziemlich alles in OpenGL ES ist in OpenGL auf dem Desktop vorhanden (mit Ausnahme einiger Fixed-Point-Sachen), so dass der Code gleich bleiben kann.

Die Art und Weise, wie OpenGL auf dem iPhone gehandhabt wird, erfolgt über eine Core-Animation-Schicht (CAEAGLLayer) und nicht über eine bestimmte Ansicht. Daher sollten Sie in der Lage sein, dies auf eine Leopard-basierte Desktopanwendung zu übertragen, obwohl Sie alle Verweise auf EAGL-Klassen in ihre OpenGL-Entsprechung konvertieren müssen (z. B. EAGLContext in NSOpenGLContext). Sie können in einen CAOpenGLLayer rendern, der selbst angezeigt wird, oder diesen Layer zum Sichern eines benutzerdefinierten NSView verwenden.

Die grundlegende Struktur einer Desktop-Cocoa-Anwendung unterscheidet sich von einer Cocoa Touch-Anwendung. Sie sollten jedoch in der Lage sein, von einer der Xcode-Vorlagen aus zu starten und die Komponenten in der Cocoa Touch-Anwendung hinzuzufügen.

Wieder habe ich das für meine Anwendung noch nicht getan, aber es sieht einigermaßen unkompliziert aus.

Verwandte Themen