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。
示例代碼