我正在编写一个需要在Mac上用C++实现OpenGL的应用程序.
无论如何我可以让Cocoa给我一个OpenGL上下文并让我在C++中完成我的工作吗?(我希望我的应用程序可以在Mac OS X和iPHone上运行;但是所有GUI都在OpenGL中,我只需要一个OpenGL上下文).
谢谢!
你无法逃避最小量的Objective-C代码.但是,如果将目标C文件重命名为.mm文件,则目标C代码将能够调用c ++类方法.这意味着您可以将-drawRect(和其他相关的NSOpenGLView消息)挂钩到您的c ++ OpenGL实现.NSOpenGLView有一个-makeCurrent方法,您可以在drawRect外部调用,以确保正确的OpenGL上下文处于活动状态.
然后,您的c ++代码可以根据需要简单地调用gl函数.