【问题标题】:How to write a Cocoa OpenGL app in C++?如何用 C++ 编写 Cocoa OpenGL 应用程序?
【发布时间】:2010-01-20 14:47:12
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: c++ cocoa opengl


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-03
        • 1970-01-01
        • 2016-09-08
        • 1970-01-01
        • 1970-01-01
        • 2012-05-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多