与 GLUT 和 OpenGL 集成的 Cocoa 框架

Posted

技术标签:

【中文标题】与 GLUT 和 OpenGL 集成的 Cocoa 框架【英文标题】:Cocoa framework integrated with GLUT and OpenGL 【发布时间】:2015-12-18 10:37:57 【问题描述】:

我是 MAC OS X 编程的新手。我正在尝试开发一个以 3D 形式表示地球自转运动的应用程序。我想做的(可能我有混合的概念,很抱歉)是开发一个 Cocoa 应用程序,我可以在其中可视化 window.xib 中的一些控件,这将允许我改变地球的旋转速度和类似的东西.我在这里遇到的一个大问题是,我不知道如何将这个控件与 3D 球体及其功能“连接”起来。我编写了一个使用 GLUT 库的 C++ 程序,它代表球体和旋转运动,但我认为我走错了路。请有人可以澄清我如何将 GLUT 与 Cocoa 应用程序和 Coca 框架提供的控件集成?如果这不可能,我将不胜感激任何指南、教程或建议,以继续开发我的应用程序。 非常感谢你,对我糟糕的英语感到抱歉。

【问题讨论】:

它们是互斥的,因为 GLUT 为诸如键盘和鼠标交互之类的事件提供了一个带有事件回调的窗口系统。可可也是如此。您可能可以保留大部分与几何和 OpenGL 相关的 C++ 代码,但您需要重写与窗口设置和输入事件相关的任何内容。 Apple 肯定会提供一两个示例应用程序来帮助您入门…… 【参考方案1】:

因此,对于 Open GL 和 OS X,您的基本选项是 Open GL 或 GLKit。 GLKit 本质上是一个围绕 Open GL 的 Objective-C 包装器,将其集成到 Cocoa 中。

我的第一个建议是Unity 3D

如果你真的想走这条路,你也可以研究 Objective-C++,但我不建议这样做。

【讨论】:

OSX 运行 OpenGL 而不是 OpenGL ES。 对不起。修复。太习惯ios了!

以上是关于与 GLUT 和 OpenGL 集成的 Cocoa 框架的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL 代码适用于 Windows 但不适用于 Mac

使用 Glut 和 OpenGL 和 Python 捕获屏幕

OpenGL - 使用 g++ 链接 glew 和 glut 库和 dll

Cocoa:将 NSApplication 集成到现有的 c++ 主循环中

如何使用 Cocoa 改变鼠标位置差异?

C++ OpenGL/Glut 无法绘制