OpenGL入门-第一周-绘制几何图形之矩形-代码详解

本文详细介绍了如何使用OpenGL在窗口中绘制一个矩形,包括初始化GLUT、设置显示模式、创建窗口、定义绘图函数等步骤,是OpenGL初学者的实用教程。

一、源代码

#include <GL/glut.h>

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("The first OpenGL Programe:");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();
    return 0;
}

二、运行结果

在这里插入图片描述

三、总结

(一)主函数main中

1. glutInit

初始化 glut 工具包,使用glut的工具时,必须先初始化

2. glutInitDisplayMode

设置初始显示模式:
GLUT_RGB:指定 RGB 颜色模式的窗口
GLUT_RGBA:指定 RGBA 颜色模式的窗口
GLUT_INDEX:指定颜色索引模式的窗口
GLUT_SINGLE:指定单缓存窗口
GLUT_DOUBLE:指定双缓存窗口
GLUT_ACCUM:窗口使用累加缓存
GLUT_ALPHA:窗口的颜色分量包含 alpha 值
GLUT_DEPTH:窗口使用深度缓存
GLUT_STENCIL:窗口使用模板缓存
GLUT_MULTISAMPLE:指定支持多样本功能的窗口
GLUT_STEREO:指定立体窗口
GLUT_LUMINANCE:窗口使用亮度颜色模型

3. glutInitWindowPosition

设置窗口在屏幕中的位置,坐标原点在桌面左上角。

4. glutInitWindowSize

设置窗口的大小。 

5. glutCreateWindow

根据前面设置的信息创建窗口。参数将被作为窗口的标题。
注意:窗口被创建后,并不立即显示 到屏幕上,需要调用 glutMainLoop 才能看到窗口。 

6. glutDisplayFunc

设置一个函数,当需要进行画图时,这个函数就会被调用。
由于这个函数实现了重载,也可以这样使用 glutDisplayFunc(myDisplay); 效果和代码中的一样。

7. glutMainLoop

进行一个消息循环。可以显示窗口,并且等待 窗口关闭后才会返回。

(二)绘图函数myDisplay中

1. glClear

清除窗体的指定缓冲区。
GL_COLOR_BUFFER_BIT: 颜色缓冲
GL_DEPTH_BUFFER_BIT: 深度缓冲
GL_ACCUM_BUFFER_BIT: 累积缓冲
GL_STENCIL_BUFFER_BIT: 模板缓冲

2. glRectf

画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。 

3. glFlush

保证前面的 OpenGL 命令立即执行(而不是让它们在缓冲区中等待)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值