1、点:

void TestPoint()
{
    //点的大小默认为一个像素,通过下面的函数可以设置一点的大小
    glPointSize(50.0f);

    glBegin(GL_POINTS);
    glVertex2f(0, 0);
    glVertex2f(0.5f, 0.5f);

    glEnd();
}

OpenGL入门程序三:点、线、面的绘制

 

2、线:

void TestLine()
{
    //设置线的宽度
    glLineWidth(500.0f);

    glBegin(GL_LINES);

    glVertex2f(0, 0);
    glVertex2f(0.5f, 0.5f);

    glEnd();
}

OpenGL入门程序三:点、线、面的绘制

3、虚线:

//画虚线
void TestLineSttiple()
{
    //开启虚线模式 , 使用 glDisable(GL_LINE_STIPPLE) 关闭虚线模式
    glEnable(GL_LINE_STIPPLE);

    //设置线的宽度
    glLineWidth(500.0f);

    //设置虚线的样式
    //参数一: 要画的点的个数
    //参数二: 是由1和0组成的长度为16的序列,从最低位开始看,如果为1,则直线上接下来应该画的factor个点将被画为实的;如果为0,则直线上接下来应该画的factor个点将被画为虚的。
    glLineStipple(2, 0x0F0F);

    glBegin(GL_LINES);

    glVertex2f(0, 0);
    glVertex2f(0.5f, 0.5f);

    glEnd();

OpenGL入门程序三:点、线、面的绘制

4、多边形:

  1>多边形的两面及绘制方式:

    多边形的有两个面,每一个面均可以设置不同的绘制模式:填充(默认的绘制模式)、只绘制边缘轮廓、只绘制顶点。

    glPolygonMode(GL_FRONT, GL_FILL); // 设置正面为填充方式

    glPolygonMode(GL_BACK, GL_LINE); // 设置反面为边缘绘制方式

    glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); // 设置两面均为顶点绘制方式

  2>一般约定,逆时针为正面,顺时针为反面,

    可以通过glFrontFace函数来交换“正面”和“反面”的概念。

    glFrontFace(GL_CCW);   // 设置CCW方向为“正面”,CCW即CounterClockWise,逆时针

    glFrontFace(GL_CW);    // 设置CW方向为“正面”,CW即ClockWise,顺时针

void TestPolygon()
{
    //glPolygonMode(GL_FRONT, GL_FILL);            // 设置正面为填充方式

    //glPolygonMode(GL_BACK, GL_LINE);             // 设置反面为边缘绘制方式

    //glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); // 设置两面均为顶点绘制方式

    glPolygonMode(GL_FRONT, GL_FILL); // 设置正面为填充模式

    glPolygonMode(GL_BACK, GL_LINE);   // 设置反面为线形模式

    glFrontFace(GL_CCW);               // 设置逆时针方向为正面

    glBegin(GL_POLYGON);               // 按逆时针绘制一个正方形,在左下方

    glVertex2f(-0.5f, -0.5f);

    glVertex2f(0.0f, -0.5f);

    glVertex2f(0.0f, 0.0f);

    glVertex2f(-0.5f, 0.0f);

    glEnd();

    glBegin(GL_POLYGON);               // 按顺时针绘制一个正方形,在右上方

    glVertex2f(0.0f, 0.0f);

    glVertex2f(0.0f, 0.5f);

    glVertex2f(0.5f, 0.5f);

    glVertex2f(0.5f, 0.0f);

    glEnd();

    glFlush();
}
View Code

相关文章:

  • 2022-12-23
  • 2021-11-27
  • 2022-12-23
  • 2021-12-14
  • 2021-12-19
  • 2022-12-23
  • 2021-12-09
猜你喜欢
  • 2021-04-30
  • 2018-04-11
  • 2022-03-05
  • 2021-08-30
  • 2021-08-04
  • 2021-05-20
  • 2021-11-20
相关资源
相似解决方案