Objective c 什么';将OpenGL与Cocoa结合使用的最佳方式是什么?

Objective c 什么';将OpenGL与Cocoa结合使用的最佳方式是什么?,objective-c,cocoa,opengl,Objective C,Cocoa,Opengl,我一直在尝试创建一个使用OpenGL的Cocoa项目NSOpenGLView对我的需求限制太大,所以我创建了自己的自定义NSView子类。我需要一次在屏幕上有多份这门课的副本。我需要使用着色器 组织此类项目的最佳方式是什么?我尝试了很多不同的设置,但我似乎总是会遇到无效的绘图、GL错误、管理上下文的问题等等。有没有一种简单的方法我忽略了?也许在应用程序发布时设置一个单一的上下文,让所有视图共享它?不要自己去搞乱OpenGL……这太糟糕了。说不就行了 我强烈推荐使用Cocos2D。这是一个非常棒的

我一直在尝试创建一个使用OpenGL的Cocoa项目
NSOpenGLView
对我的需求限制太大,所以我创建了自己的自定义
NSView
子类。我需要一次在屏幕上有多份这门课的副本。我需要使用着色器


组织此类项目的最佳方式是什么?我尝试了很多不同的设置,但我似乎总是会遇到无效的绘图、GL错误、管理上下文的问题等等。有没有一种简单的方法我忽略了?也许在应用程序发布时设置一个单一的上下文,让所有视图共享它?

不要自己去搞乱OpenGL……这太糟糕了。说不就行了


我强烈推荐使用Cocos2D。这是一个非常棒的图形库,它得到了高度支持和文档化,可以处理所有OpenGL的废话,让痛苦消失。不要接触OpenGL,除非你想花更多的时间研究技术细节,而不是真正实现你的项目。

你想用OpenGL做什么?
NSOpenGLView
对我来说是最简单的。它有什么问题?它与我的自定义视图有同样类型的无效可绘制、GL错误问题,只是我无法修补它来修复它们。:)我正在尝试制作一个跨平台的游戏,我只想确保Mac端的东西是使用OpenGL的方式。我不想使用SDL或其他东西为Mac应用程序设置我的GL视图。我建议你花点时间学习如何正确使用NSOpenGLView。它正确地处理了使GL上下文存在于cocoa视图层次结构中的问题,并且滚动您自己的替换比您意识到的要多,正如您目前发现的那样。然而,我在Linux版本的应用程序中使用OpenGL没有问题。相对而言,OSX上的上下文设置和管理似乎非常复杂,这可能是因为NSView周围的所有结构。这是一种咆哮,而不是答案。直接处理OpenGL,而不是通过包装器框架,有许多完全可行的理由。此外,cocos2d虽然很好,但它不是三维图形的解决方案。