2011-09-22 91 views
4

我正在寻找适用于Mac OS X的基本OpenGL应用程序的一个很好的示例,但不是太简单。适用于iPhone开发者的Mac OS X上的OpenGL

我对iOS和Objective-C有很好的经验基础,但我从未构建过Mac OS X应用程序。

我所能找到的都是超级简单的例子,它们完成了drawRect中的所有绘图和逻辑:或者是具有层和抽象层的过于复杂的例子。我不想使用Glut,SDL或任何其他第三方库或引擎。

我希望能够驾驶一个游戏循环,并像我在iOS游戏上那样使用CADisplayLink。我宁愿不使用.xib文件,因为我喜欢了解发生了什么,并且让那个黑盒子对我隐藏太多,尽管我很乐意将它作为第一步,如果它让我把所有其他东西游戏循环,CADisplayLink等)。

我的iOS代码手工创建了OpenGL视图,但iOS和OS X之间似乎有足够的差异,我无法制作它的头部或尾部。我只需要获得一个Window和一个OpenGL视图,并能够通过游戏循环来绘制。

有人能指点我一个很好的资源吗?苹果公司的例子可以跳到简单和太复杂,就像我在互联网上找到的其他东西一样。

回答

1

对不起,我无法回答你的问题。我总是使用XIB文件(前一段时间,我也一直想重新发明轮子,但现在我很懒,喜欢把事情做完:p),我从来没有使用过显示链接。

重写drawRect:你不喜欢什么?

而且我用的样品开始使用OpenGL的是这一个:http://developer.apple.com/library/mac/#samplecode/CocoaGL/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004501

不要太复杂,很简单,了解它(和它不使用任何XIB,如果我记得很清楚:P)

+0

也许我误解了drawRect:是什么,但是当窗口需要刷新时,它似乎被操作系统调用,但是对于总是运行游戏循环的游戏来说,这是没有意义的。我不明白drawRect:是什么? –

+0

啊,是的,你正确理解,但如果你看看我链接的示例,它只是创建一个计时器,它将重复调用drawRect:方法。 我不知道这是否是最好的方法,但它工作正常^^(至少在示例中,并为我的小引擎和编辑器^^) – Citron

+0

我花了一天砍掉你链接的例子我想我有一切工作。我不知道这是否是最好的方法,但它现在起作用。再次感谢。 –