admin 管理员组

文章数量: 1086019


2024年3月13日发(作者:c语言基础课)

实验1 OpenGL初识

一、实验目的:

熟悉编程环境;了解光栅图形显示器的特点;了解计算机绘图的特点;利用

VC+OpenGL作为开发平台设计程序,以能够在屏幕上生成任意一个像素点为本实验的结

束。

二、实验内容:

(1) 了解和使用VC的开发环境,理解简单的OpenGL程序结构。

(2) 掌握OpenGL提供的基本图形函数,尤其是生成点的函数。

三、该程序的作用是在一个黑色的窗口中央画一个矩形、三角形和三个点,如图所示。

下面对各行语句进行说明:

首先,需要包含头文件#include ,这是GLUT的头文件。

然后看main函数。int main(int argc, char *argv[]),这个是带命令行参数的main

函数。这种以glut开头的函数都是GLUT工具包所提供的函数,下面对用到的几个函数进

行介绍;

1)glutInit,对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。

其格式比较固定,一般都是glutInit(&argc, argv)就行;

2) glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与

之对应的还有GLUT_INDEX(表示使用索引颜色)。GLUT_SINGLE表示使用单缓冲,与之

对应的还有GLUT_DOUBLE(使用双缓冲)。更多信息,以后的实验教程会有讲解介绍;

3) glutInitWindowPosition,设置窗口在屏幕中的位置;

4) glutInitWindowSize,设置窗口的大小;

5) glutCreateWindow,根据前述设置的信息创建窗口。参数将被作为窗口的标题。

注意:窗口被创建后,并不立即显示到屏幕上。需要调用glutMainLoop才能看到窗口;

6) glutDisplayFunc,设置一个函数,当需要进行画图时,这个函数就会被调用。(暂

且这样理解);

7) glutMainLoop,进行一个消息循环。(现在只需知道这个函数可以显示窗口,并且

等待窗口关闭后才会返回。)

在glutDisplayFunc函数中,我们设置了“当需要画图时,请调用myDisplay函数”。

于是myDisplay函数就用来画图。观察myDisplay中的三个函数调用,发现它们都以gl

开头。这种以gl开头的函数都是OpenGL的标准函数,下面对用到的函数进行介绍:

1) glClearColor(0.0, 0.0, 0.0, 0.0) :将清空颜色设为黑色(为什么会有四个参数?);

2) glClear(GL_COLOR_BUFFER_BIT):将窗口的背景设置为当前清空颜色;

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


本文标签: 函数 进行 需要 了解 使用