OpenGl的学习(一)

第一个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("第一个OpenGL程序"); 
	glutDisplayFunc(&myDisplay); 
	glutMainLoop(); 
	return 0; 
}

(1)、OpenGL程序一般包含<GL/gl.h>和<GL/glu.h>两个头文件, 但是 ,GLUT的头文件<GL/glut.h>已经自动将这两个头文件包含了。

(2)、main函数中,除了return语句以外,其余语句都是以glut开头的,这种以glut开头的函数就是GLUT工具包所提供的函数。

              1>.glutInit函数,是对GLUT进行初始化,这个函数必须在其他的GLUT使用之前调用一次,固定格式,glut(&argc,argv) ;

              2>.glutInitDisplayMode设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX使用索引颜色,GLUT_SINGLE表示使用但缓冲,      GLUT_double表示使用双缓冲……

          3>、glutInitWindowPosition,设置窗口位置。

              4>、glutInitWindowSize,设置窗口大小。

      5>、glutCreatWindow根据前面设置的信息,创建一个窗口,参数作为窗口的标题,(注意:窗口被创建以后,并不立即显示到显示器上,而是经过调用glutMainLoop      函数       才会显示)。

              6>、glutDisplayFunc,(初学者暂时难以理解,后面会有详解)。

              7>、glutMainLoop,进行一个消息循环,(初学者可能无法理解,只需知道可以将窗口显示在显示器上即可,等待窗口关闭以后,才会返回)

(3)、对于这个程序,在glutDisplayFunc函数中,我们设置了 当需要画图的时候,请调用myDisplay函数,于是我们分析myDisply中三个函数调用,发现,这三个函数都是以gl开头的,这种以gl开头的函数都是OpenGL的标准函数。

     1>、glClear,清除函数,GL_COLOR_BUFFER_BIT表示颜色清除,glClear表示还可以清除其他的东西,不做介绍。

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

       3>、glFlush,保证前面的OpenGL程序立即执行,而不是让他在缓冲区等待,其作用和fflush(stdout)类似。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值