如何用C++编写一个Cocoa OpenGL应用程序?

3

我正在编写一个需要在Mac上使用OpenGL的应用程序,使用C++语言。

有没有办法让Cocoa只提供OpenGL上下文并让我在C++中进行工作?(我希望我的应用程序可以在Mac OS X和iPhone上运行;但所有GUI都是基于OpenGL的,我只需要一个OpenGL上下文)。

谢谢!

2个回答

6

您无法避免少量的Objective-C代码。但是,如果将Objective-C文件重命名为.mm文件,则Objective-C代码将能够调用C ++类方法。这意味着您可以将-drawRect(和其他相关的NSOpenGLView消息)钩接到C ++ OpenGL实现中。 NSOpenGLView具有-makeCurrent方法,在drawRect之外可以调用该方法以确保正确的OpenGL上下文处于活动状态。

然后,您的C ++代码可以根据需要简单地调用gl函数。


2

请查看NSOpenGLView。在您的子类中的drawRect:方法中,您可以访问视图的上下文并调用您的OpenGL代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接