從事iOS開(kāi)發(fā)也有幾年了,一直開(kāi)發(fā)通用應(yīng)用APP,上周開(kāi)始了個(gè)培訓(xùn)班,內(nèi)容是OpenGL,由于此前未涉獵過(guò),故在此記錄第一節(jié)課學(xué)習(xí)到的內(nèi)容。
一、 首先是OpenGL的環(huán)境搭建
從本人的理解,感覺(jué)叫環(huán)境的搭建不是特別合理,實(shí)際上就是OpenGL相關(guān)庫(kù)的如何引用而已。就像開(kāi)發(fā)應(yīng)用APP時(shí)需要使用到藍(lán)牙相關(guān)功能時(shí)需要導(dǎo)入CoreBluetooth.framework類(lèi)似。具體操作如下
1. 打開(kāi)Xcode,然后選擇菜單File->New->Project,也可以直接使用快捷鍵,新建一個(gè)Demo工程

2.?添加引用OpenGL.framework和GLUT.framework兩個(gè)系統(tǒng)庫(kù)到工程中

3. 修改main.c文件,添加繪畫(huà)的代碼

至此,已經(jīng)把第一節(jié)課講的畫(huà)個(gè)簡(jiǎn)單的圓給搗鼓出來(lái)了。看到這里有很多同學(xué)可能會(huì)有疑問(wèn),老師不是說(shuō)要添加GLTools庫(kù)嗎?不是要將main.c給刪除,然后新建個(gè)main.cpp嗎?
其實(shí)老師所給的GLTools只是OpenGL的擴(kuò)展庫(kù),用于幫助C/C++開(kāi)發(fā)者初始化擴(kuò)展并書(shū)寫(xiě)可移植的應(yīng)用程序,在上面的簡(jiǎn)單繪圓Demo中還沒(méi)用到擴(kuò)展庫(kù)中的功能,所以不添加也是可以的。另外main.c文件不用刪除和添加main.cpp文件也可以通過(guò),本人理解是OS X mac開(kāi)發(fā)是支持C語(yǔ)言開(kāi)發(fā)的,而老師說(shuō)要?jiǎng)h除無(wú)關(guān)文件并添加main.cpp,我想是C++開(kāi)發(fā)的習(xí)慣吧,也是以后學(xué)習(xí)復(fù)雜OpenGL編程采用面向?qū)ο箝_(kāi)發(fā)的一個(gè)基礎(chǔ)。
-------------------------------------------------------------------------------------------------------
由于開(kāi)班是在年底,時(shí)間比較匆忙,都來(lái)不及消化整理,上面部分是在外地時(shí)寫(xiě)的,現(xiàn)在回到老家補(bǔ)充下半部分。
上半部分記錄了自己對(duì)第一節(jié)課的部分知識(shí)的一個(gè)理解,下半部分是根據(jù)CC老師講解的繪制三角形而自己操作了一遍。由于上半部分的操作實(shí)際只涉及到OpenGL庫(kù)的引用并沒(méi)有用到擴(kuò)展庫(kù),所以下半部分針對(duì)擴(kuò)展庫(kù)的引用進(jìn)行實(shí)際操作。
同上新建一個(gè)工程,然后刪除無(wú)關(guān)文件,以及添加OpenGL.framework和GLUT.framework庫(kù)。也可以在上面的工程基礎(chǔ)上進(jìn)行接下來(lái)的操作。
1.添加OpenGL擴(kuò)展庫(kù),添加相關(guān)頭文件到工程中,如下圖

2.添加.a庫(kù)文件

注意看上圖,我已經(jīng)把main文件改為.cpp了,上半部分提到點(diǎn)main文件可以不改,但是下半部分由于引用到擴(kuò)展庫(kù),而擴(kuò)展庫(kù)中都是C++實(shí)現(xiàn),所以此處將main文件改為main.cpp
3.添加圖形繪制方法,如下圖



然后運(yùn)行即可得結(jié)果。雖然在聽(tīng)課的時(shí)候都是跟著老師的節(jié)奏來(lái)的,但是流程并不能熟悉的記住,通過(guò)動(dòng)手實(shí)現(xiàn)才能更深刻的理解與熟悉流程。