OpenGL編程學習(2)-畫點畫線函數

OpenGL畫點函數
  OpenGL圖元默認大小爲一個像素單位,默認顏色爲白色。畫點函數爲:
  

glVertex* ();
  星號(*)說明該函數要有後綴碼。一般來說,會有2到3個後綴碼。第一個後綴碼代表維數,二維、三維、四維座標分別用2、3、4等數字表示。第二個後綴碼代表座標的數值類型,如i(整數)、s(短整數)、f(浮點)、d(雙精度浮點)等。glVertex中可以使用顯式的座標值或引入矩陣形式座標位置的單個變量,此時需要第三個後綴:v(向量)。

  下面例子在斜率爲2的直線上繪出了三個等距離的點。

  glBegin(GL_POINTS);
   glVertex2i (50, 100);
   glVertex2i (75, 150);
   glVertex2i (100, 200);
  glEnd();
  換一種方法,以矩陣形式表示上述座標值:

  int point1 [] = {50, 100};
  int point2 [] = {75, 150};
  int point3 [] = {100, 200};
  glBegin(GL_POINTS);
   glVertex2iv (point1);
   glVertex2iv (point2);
   glVertex2iv (point3);
  glEnd();
OpenGL畫線函數
  與OpenGL畫點函數十分類似,不同在於glBegin()中的符號常量。
  使用圖元常量GL_LINES可連接每一對相鄰定點而得到一組直線段。

  glBegin(GL_LINES);
   glVertex2iv (p1);
   glVertex2iv (p2);
   glVertex2iv (p3);
   glVertex2iv (p4);
   glVertex2iv (p5);
  glEnd();
  上述代碼可以畫出線段p1-p2和p3-p4。

  使用GL_LINE_STRIP則可以獲得折線,如果需要封閉的折線則需要重複某些點座標。

  glBegin(GL_LINE_STRIP);
   glVertex2iv (p1);
   glVertex2iv (p2);
   glVertex2iv (p3);
   glVertex2iv (p4);
   glVertex2iv (p5);
  glEnd();
  上述代碼畫出折線p1-p2-p3-p4-p5。

  生成封閉折線的常量是GL_LINE_LOOP。

  glBegin(GL_LINE_LOOP);
   glVertex2iv (p1);
   glVertex2iv (p2);
   glVertex2iv (p3);
   glVertex2iv (p4);
   glVertex2iv (p5);
  glEnd();
  上述代碼畫出封閉折線p1-p2-p3-p4-p5-p1。

示例代碼

include

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章