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

时间:2010-01-20 14:47:12

标签: c++ cocoa opengl

我正在编写一个需要在Mac上用C ++实现OpenGL的应用程序。

无论如何我可以让Cocoa给我一个OpenGL上下文并让我在C ++中完成我的工作吗? (我希望我的应用程序可以在Mac OS X和iPHone上运行;但是所有的GUI都在OpenGL中,我只需要一个OpenGL上下文。)

谢谢!

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:2)

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