1.无论画什么,都是由以下格式出现。其中*可以为GL_POINTS、GL_LINES来描述所画物体。
glBegin(*);
.......
glEnd();
因此,一个点的描述格式为:
glBegin(GL_POINTS);
glVertex*();
glEnd();
一条线的描述格式为:
glBegin(GL_LINES);
glVertex*();
glVertex*();
glEnd();
2.画点函数 glVertex*();
glVertex*();可指定一个点位置的坐标值。其中*表示该函数要有后缀码,例如glVertex3f();glVertex2iv();
后缀码用来致命空间维数;坐标值变量的数据类型;可能的向量形式坐标描述。
空间维数可以为2、3、4;数据类型可以为i(整数)、s(短整数)、f(浮点数)、d(双精度浮点数);若使用矩阵形式坐标位置,则添加后缀码v(向量)。
因此glVertex3f(-78.05,909.72,14.60); == 用3个浮点数表示的点,分别代表在x,y,z轴上的坐标值。
int point1 [] = {50,100};
glVertex2iv(point1); == 用2个整数的矩阵形式描述的坐标值,分别代表在x,y轴上的坐标值。
一些画点的小栗子:
a.坐标用整数给出(2维世界)~~~~画出3个2维坐标的点
glBegin(GL_POINTS);
glVertex2i(50,100);
glVertex2i(75,150);
glVertex2i(100,200);
glEnd();
b.坐标用整数给出(3维世界)~~~~画出2个3维坐标的点
glBegin(GL_POINTS);
glVertex3f(-78.05,909.72,14.60);
glVertex3f(261.91,-5200.67,188.33);
glEnd();
c.坐标以矩阵形式给出
d.用C++类给出(也可以用结构体给出,此处略)
-----------------------------------------------------------------吐槽分割线----------------------------------------------------------
Hummm~编辑器太挫,写完我自己都不想看,虽然我的排版已经尽量对齐了,但还是很难图形结合的介绍。
(因为自己懒,又不想用AI画图,而且也找不到这本书的PDF版,截不了图)
不过想想,以前我看别人的技术博客,看得也挺累的。。。
那么,大家就凑合凑合看吧,用笔记一记,画一画,看起来更舒服喔:-O
恩,如果我开心的话说不定会补图上来