首页 > 编程知识 正文

opengl怎么画点,opengl画直线函数

时间:2023-05-04 16:38:54 阅读:275949 作者:2505

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。