Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OSX 10.9上用于绘制球体等基本体的Glut/Glu替代方案_C++_Macos_Cocoa_Opengl - Fatal编程技术网

C++ OSX 10.9上用于绘制球体等基本体的Glut/Glu替代方案

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

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

从这里开始,我的计划是切换到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更现代,因此使用起来应该更有趣。