OSX 10.9上的Glut / Glu替代品用于绘制球体等基本体

时间:2014-03-15 22:36:02

标签: c++ macos cocoa opengl

我决定在OSX上做一些OpenGL编程。我创建了一个小的NSOpenGLView类,以便我在cocoa中获得OpenGL视图。

从那里我的计划是切换到C ++并创建一个对象模型来绘制形状。我没有兴趣重新发明轮子,我决定使用glutWireSphere来代表我的球体类。 有趣的是,XCode对所有glu和glut函数的约90%抛出了弃用警告。包括球体功能。

Apple库是否提供类似Glut的原语?我错过了什么吗? OSX上是否有当前用于OpenGL编程的HowTo(OpenGL> = 3.2)?我目前正在浏览适用于Mac的OpenGL编程指南,但这似乎并不能涵盖它。谷歌搜索它主要返回IOS或旧结果。

注意:我不想强制编译到10.8。而且我不一定想要像GLFW那样链接外部库。

1 个答案:

答案 0 :(得分:1)

如果您可以使用10.9+,则可能需要查看SceneKit。它是一个原生的Cocoa框架,专门用于处理3D渲染。

来自文档:

  

' Scene Kit是一个3D渲染的Objective-C框架,它结合了一个   具有高级描述性API的高性能渲染引擎。   Scene Kit支持3D的导入,操作和渲染   资产无需按照确切的步骤渲染场景   OpenGL可以。'

特别是SCNSphere课程就是你要找的。

这是Big Nerd Ranch的一个很好的场景工具包介绍:
SceneKit in Mountain Lion

然而,需要考虑的一件事是,你最终会得到无法移植到其他平台的代码,因为SceneKit是OS X(最终是iOS)的原生代码。另一方面,OpenGL,OgreIrrlicht等框架支持许多不同的桌面和移动平台。