将iPhone openGLES应用程序移植到OSX?

时间:2008-12-08 16:52:07

标签: objective-c cocoa macos opengl opengl-es

开发iPhone是我第一次使用objective-c和第一次使用xcode的深入体验。使用openGL将openGLES iPhone应用程序移植到OSX桌面有多难?我不是在询问用户界面 - 显然桌面上没有相当于cocoa touch UI的东西。我特别询问了app delegate和openGLES层。有任何重大障碍吗?它是否像在cocoa类型的项目中简单地创建一个新的app delegate一样直接?

1 个答案:

答案 0 :(得分:8)

我开始研究同样的事情,看起来OpenGL繁重的应用程序将是最容易向Mac移植的应用程序之一。 OpenGL ES中的所有内容都存在于桌面上的OpenGL中(除了一些定点内容),因此代码可以保持不变。

在iPhone上处理OpenGL的方式是通过核心动画层(CAEAGLLayer),而不是特定的视图。因此,您应该能够将其转移到基于Leopard的桌面应用程序,尽管您需要将对EAGL类的所有引用转换为其OpenGL等效项(例如,EAGLContext到NSOpenGLContext)。您可以渲染到自己显示的CAOpenGLLayer中,或者使用该层来支持自定义NSView。

桌面Cocoa应用程序的基本结构将与Cocoa Touch应用程序不同,但您应该能够从其中一个Xcode模板开始,并从Cocoa Touch应用程序中添加回组件。

同样,我还没有为我的申请做过这个,但它看起来相当简单。