2011-09-22 118 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

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