OpenGL编程(五)绘直线以及分析绘直线的算法

本文介绍如何在OpenGL中实现点、线的绘制,包括修改它们的属性。详细解析了画直线的原理,如GL_LINES和GL_LINE_STRIP方法,并探讨了画虚线的技巧,使用glLineStipple函数设置虚线模式。此外,还讨论了优化直线算法以提高效率的方法,如计算步长来减少乘法操作。
摘要由CSDN通过智能技术生成

这次主要实现在窗口上绘制点、线以及修改其属性,另外还会分析画直线的原理和相关算法。

1、在窗口指定位置画点
glBegin(GL_POINTS);
glEnd();
使用glBegin()和glEnd()方法向窗口中添加图形。要添加点时,glBegin()函数里的参数填GL_POINTS。然后通过glVertex3f()函数在指定的(坐标)位置画点,如:glVertex3f(100.0f, 100.0f, 0.0f);三个参数分别表示x,y,z坐标。

glBegin(GL_POINTS);
glVertex3f(100.0f, 100.0f, 0.0f);
glVertex3f(100.0f, 200.0f, 0.0f);
glVertex3f(200.0f, 100.0f, 0.0f);
glVertex3f(200.0f, 200.0f, 0.0f);
glEnd();

默认情况下点的大小时一个像素点,在画点之前可以通过函数glPointSize(5.0f)来修改点的大小。
如:

#include <windows.h>
#include <gl/glut.h>

void renderScene()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0f, 0.0f, 0.0f);
    glPointSize(5.0f);
    glBegin(GL_POINTS);
    glVertex3f(100.0f, 100.0f, 0.0f);
    glVertex3f(100.0f, 200.0f, 0.0f);
    glVertex3f(200.0f, 100.0f, 0.0f);
    glVertex3f(200.0f, 200.0f, 0.0f);
    glEnd();
    glFlush();

}

void main()
{
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(300, 300);
    glutInitWindowPosition(200, 200);
    glutCreateWindow("point");
    glutDisplayFu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值