已經學習OpenGL一小段時間了,斷斷續續的。雖說沒什么長進,但是感覺還是有一些入門。主要是看NEHE的教程(NEHE OpenGL Tutorials),有些東西很有深度,感覺很遙遠……只是一個多看多學的過程,看不懂一遍,可以看第二遍、第三遍,每一遍都會有所收獲的。
學習OpenGL的初衷是為了做游戲,所以也在研究《學OpenGL編3D游戲》的教程。關于OpenGL的東西還是做得很少,想在其基礎上做一個第一人稱射擊游戲,但在寫它之前還是想對OpenGL做一些系統學習和總結,肯定會有不小的收獲的。
就從這里開始吧!網絡為學習提供了極大的方便,有很多大牛,我會不斷的把我學到的東西,整理到這個博客當中,放棄了網易,以為感覺這里更規范,是一個適合于程序員的專用博客(^o^)。
一個基于NEHE框架的MFC OpenGL向導,這兒是在網上發現的一個很不錯的東東,十分實用。以下是說明和下載(參考文檔):
下載:NEHE向導文件.rar (NEHE框架,for VC6)
以框架為例,首先看看里面的說明
1、拷貝awx文件到vc6安裝目錄下($Install_Directory\Common\MSDev98\Bin\IDE);
2、打開VC6,新建工程,選擇MFC OpenGL AppWizard向導,輸入新建工程名;
3、向導第二步,設置分辨率和屏幕深度,點示“完成”按鈕;(注:最好選擇1024*768,和 32bit)
4、選擇左側ClassView(類視導航),打開新建工程的類樹;
5、在類樹下,打開CMainFrame類;
6、點擊到CMainFrame下的成員函數RenderGLScene。
修改glBegin(GL_QUADS)到glEnds()之間的代碼。
好了,簡單手動敲入:
|
glBegin(GL_QUADS);
……
glEnd();
|
改成→
|
glBegin(GL_TRIANGLES);
glVertex3f(-1,0,0);
glVertex3f(1,0,0);
glVertex3f(0,1,0);
glEnd();
|
怎么樣?一個底邊為2,高為1的三角形。
單位就是opengl坐標軸單位,三個頂點(x,y,z)分別在(-1,0,0),(1,0,0),(0,1,0);
opengl坐標軸(x-y-z右手系):你面對屏幕,你的右邊是x正軸,上面是y正軸,屏幕指向你的就是z正軸啦。
(注:glTranslatef為了把圖形移后點,因為屏幕平面就是x-y平面嘛,所以向z負軸移后點看得清楚;glRotatef實現了旋轉,同時繞三個軸,三個*rot是速度啦。)
行為決定態度。
posted on 2010-09-11 09:29
vic.MINg 閱讀(765)
評論(0) 編輯 收藏 引用 所屬分類:
OpenGL