如何使用openGL畫出一個三角形呢 ? 

要構成一個三角形你需要三個點,由這三個點才能連成三條線,最後由這三條線形成三角形。

 

座標 Coordinate

在openGL內你必須先定義三角形的每一個頂點,而定義這些"Points"需要座標 Coordinate

2D Coordinate System

 

3D Coordinate System

 

 

定義Point

了解座標系統後,接著就是根據座標來定義point,在openGL內定義2D座標系統的function為glVertex2fv

還有其他類型的point 定義方法

特別說明幾個function :

 void glVertex3fv(const GLfloat * v)

能將一個vertex的x y z 軸放入一個array,由此來定義point

 void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) 

W = 縮放比例

使用「齊次座標」(homogeneous coordinate)來呈現,這一方面是為了方便將空間的平移、縮放、旋轉等轉換使用矩陣來記錄。

 

畫出三角形

1. 畫圖之前,首先會將畫布清空成白色,並且清掉color buffer。

glClearColor(1.0, 1.0, 1.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
 
2. 之後告訴系統接下來要畫出的形狀為三角形,且定義顏色為紅色以及其三個頂點V1 ~ V3(綠色為註解)
 
3. 畫完之後記得要釋放所佔掉的空間。
glFlush();

 

程式碼 : 

 

glClearColor(1.0, 1.0, 1.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_TRIANGLES);
   glColor3f(1.0, 0.0, 0.0);
  glVertex2f(50.f, 50.f);
   glVertex2f(150.f, 50.f);
   glVertex2f(100.f, 150.f);
glEnd();

glFlush();

 

結果 : 





arrow
arrow
    全站熱搜

    橘子亂說話 發表在 痞客邦 留言(0) 人氣()