OPENGL學習筆記1

     OPENGL就是有很多圖形API的函數庫,專業一點就叫“圖形接口”,所以瞭解這些API是以後使用OPENGL的基礎。爲了達到使用這些API的目的,還需要至少掌握一門語言,建議C語言。現在流行的編程方式是win32 console和win32 application,哪種方式不重要,主要掌握它API的用法就好了。
     OPENGL座標變換很有特點,爲了簡單描述先定義2個座標系,世界座標系,當前繪圖座標系,無論如何變換,世界座標系都不動,以屏幕中心爲原點(0, 0, 0),你面對屏幕,你的右邊是x正軸,上面是y正軸,屏幕指向你的爲z正軸。當前繪圖座標系是繪製物體時的座標系。程序剛初始化時,世界座標系和當前繪圖座標系是重合的,當用glTranslatef()等變換函數做移動和旋轉時,都是改變的當前繪圖座標系,改變的位置都是當前繪圖座標系相對自己的x,y,z軸所做的改變,改變以後,再用glVertex3f()等繪圖函數繪圖時,都是在當前繪圖座標系進行繪圖,所有的函數參數也都是相對當前繪圖座標系來講的。

glLoadIdentity():另當前繪圖座標系從新回到世界座標系的位置,另他們重合。
glTranslatef(x,y,z):使繪圖座標系相對世界座標系沿x,y,z軸移動x,y,z個單位。
glVertex3f(x,y,z):在當前繪圖座標系繪製一個點

glColor3f(r,g,b):設置以後繪圖函數的繪圖顏色,如果沒有再次碰到glColor3f(),以後任何繪圖函數繪製出的圖形顏色都是這個顏色。r,g,b的範圍從0.0-1.0。r-藍色,g-綠色,b-藍色,色彩是這三種顏色分量的混合,比如glColor3f(1.0,1.0,0.0)是黃色,glColor3f(1.0,0.0,0.0)是紅色。

glRotatef(angle,x,y,z):和glTranslatef()屬於一類函數,glTranslatef()是平移,glRotatef是旋轉,就是使當前繪圖座標系繞世界座標系的x,y,z旋轉angle個角度,x,y,z的值非0既1,比如glRotatef(30,1.0f,0.0f,0.0f)就是繞x軸旋轉30度,glRotatef(30,1.0f,1.0f,0.0f)就是繞x,y的夾角線旋轉30度。

發佈了19 篇原創文章 · 獲贊 9 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章