C++ OSX 10.9上用于绘制球体等基本体的Glut/Glu替代方案
我决定在OSX上做一些OpenGL编程。我创建了一个小的NSOpenGLView类,以便在cocoa中获得OpenGL视图C++ OSX 10.9上用于绘制球体等基本体的Glut/Glu替代方案,c++,macos,cocoa,opengl,C++,Macos,Cocoa,Opengl,我决定在OSX上做一些OpenGL编程。我创建了一个小的NSOpenGLView类,以便在cocoa中获得OpenGL视图 从这里开始,我的计划是切换到C++并创建一个对象模型来绘制形状。没有兴趣重新发明轮子,我决定用glutWireSphere来表示我的球体类。 有趣的是,XCode为大约90%的glu和glut函数抛出了一个弃用警告。包括球函数 有没有提供类似于Glut的原语的Apple库?我错过什么了吗?OSX上是否有OpenGL编程的最新方法(OpenGL>=3.2)?我目前正在浏览Ma
从这里开始,我的计划是切换到C++并创建一个对象模型来绘制形状。没有兴趣重新发明轮子,我决定用
glutWireSphere
来表示我的球体类。
有趣的是,XCode为大约90%的glu和glut函数抛出了一个弃用警告。包括球函数
有没有提供类似于Glut的原语的Apple库?我错过什么了吗?OSX上是否有OpenGL编程的最新方法(OpenGL>=3.2)?我目前正在浏览Mac的OpenGL编程指南,但似乎还没有涵盖。谷歌搜索主要返回IOS或旧结果
注意:我不想强制编译到10.8。我不一定要链接像GLFW这样的外部库。如果可以使用10.9+,您可能需要查看一下。这是一个专门为处理3D渲染而设计的本地Cocoa框架 从文档中: “场景工具包是一个3D渲染Objective-C框架,它结合了 具有高级描述性API的高性能渲染引擎。 场景工具包支持三维场景的导入、操纵和渲染 资源,而不需要精确的步骤以这种方式渲染场景 OpenGL是这样做的 特别是这门课是你要找的 下面是一个不错的场景工具包介绍人:
<>强>但是>,有一件事要考虑的是,最终的代码是不可移植到其他平台上的,因为SceneKit原生于OSX(最终是IOS)。另一方面,像OpenGL这样的框架支持许多不同的桌面和移动平台。快速搜索“OpenGL sphere With glut”(无glut的OpenGL球体)。@user1118321:是的,我也看到了这些(各种形式)。在OSX上编程现代GLUT需要记住的主要事情是指定GLUT_3_2_CORE_配置文件以获得OpenGL 4.1上下文。虽然不支持计算着色器,但有一些很好的扩展,4.1是El Capitan支持的最新版本。至于那些被警告的警告,我通常只从系统头删除那些宏。实际上我开始工作的是C++代码库,它用类和模板来封装OpenGL 4.1。这仍然是一个正在进行的工作,非常黑客,但如果你有兴趣,你可以在这里看看:。现在它支持obj文件和3d卷。我还将重新许可BSD它,一旦它在一个更完善的状态。OpenGL部分是几年前我参与的地方。哦,哇。那正是我要找的东西!但你是对的:它似乎不可移植。希望它适合你的用途——无论哪种情况,它都比OpenGL API更现代,因此使用起来应该更有趣。