OpenGL入门学习笔记(二)

OpenGL中的点


点的大小默认为 1 个像素,但也可以改变之。改变的命令为glPointSize,其函数原型如下:

void glPointSize(GLfloat size);
//size 必须大于 0.0f,默认值为 1.0f,单位为“像素”。

使用点绘制图形

我们使用glBegin,和glEnd两个函数进行所要绘制图形的描述。绘制的内容要放在这两个函数之间。

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin( /* 在这里填上你所希望的模式 */ );
    /* 在这里使用 glVertex*系列函数 */
    /* 指定你所希望的顶点位置 */
    glEnd();
    glFlush();
}

几种模式

模式功能
GL_POINTS画离散的点
GL_LINES画线(每两个点连成一条线)
GL_LINE_STRIP画线(所有点相互相连,首尾不相连)
GL_LINE_LOOP画线(所有点相互相连,首尾相连)
GL_POLYGON填充面(将所有点围成的面进行填充)
GL_QUADS填充面(将每四个点围成的面进行填充,相邻点之间不填充)
GL_QUAD_STRIP填充面(每两个点构成一条线,每两个线构成一个四边形)
GL_TRIANGLES填充三角形(将每三个点围成的三角形进行填充,相邻的点之间不填充)
GL_TRIANGLE_STRIP填充三角形(将每三个点围成的三角形进行填充,相邻的点之间填充)
GL_TRIANGLE_FAN填充三角形(以第一个点为顶点,之后每两个点合起来围成的三角形进行填充,相邻的点之间填充)

实例

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glPointSize(5.0f);  
    glBegin(GL_POINTS);
    glVertex2f(0.0f, 0.0f);
    glVertex2f(0.5f, 0.5f);
    glEnd();
    glFlush();
}

对应图片

OpenGL中的线


指定直线宽度

void glLineWidth(GLfloat width);

虚线

glEnable(GL_LINE_STIPPLE);来启动虚线模式(使用glDisable(GL_LINE_STIPPLE)可以关闭之)。然后,使用glLineStipple 来设置虚线的样式。

void glLineStipple(GLint factor, GLushort pattern);

pattern

实例

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glEnable(GL_LINE_STIPPLE);
    glLineStipple(2, 0x0F0F);
    glLineWidth(10.0f);
    glBegin(GL_LINES);
    glVertex2f(0.0f, 0.0f);
    glVertex2f(0.5f, 0.5f);
    glEnd();
    glFlush();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值