OpenGL入门示例1——黑色背景绘制绿色矩形

#include<GL/glut.h>	//GLUT是OpenGL实用工具包,自动包含了<GL/gl.h>和<GL/glu.h>,编程时不必再次包含它们。

void display(void)
{
	glClear(GL_COLOR_BUFFER_BIT);		//清除所有的像素
	glColor3f(0.0,1.0,0.0);				//绘制颜色(绿色),函数名glColor3f中的3代表三个参数,f代表参数类型为GLfloat型,下同
	glBegin(GL_POLYGON);				//开始绘制一个多边形(矩形)
		glVertex3f(0.25,0.25,0.0);		//顶点A(坐标系z轴为0)
		glVertex3f(0.75,0.25,0.0);		//顶点B
		glVertex3f(0.75,0.75,0.0);		//顶点C
		glVertex3f(0.25,0.75,0.0);		//顶点D
	glEnd();							//绘制结束
	glFlush();							//立刻开始处理保存在缓冲区中的OpenGL函数调用
}

void init(void)
{
	glClearColor(0.0,0.0,0.0,0.0);		//指定清除颜色(黑色),即背景颜色
	glMatrixMode(GL_PROJECTION);		//初始化视景体
	glLoadIdentity();
	glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}
//为了最大限度地提高效率,那些只需调用一次的操作(设置背景颜色和坐标系统)被放置到函数init()中
//渲染(和重新渲染)场景的操作被放置到函数display()中,它是注册的GLUT显示回调函数

int main(int argc,char** argv)						//注意参数
{
	glutInit(&argc,argv);							//初始化GLUT并处理命令行参数
	glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);		//指定模式:单缓存OR双缓存;RGBA模式OR颜色索引模式
	glutInitWindowSize(250,250);					//指定窗口大小(像素)
	glutInitWindowPosition(100,100);				//指定窗口左上角在屏幕上的位置
	glutCreateWindow("Hello");						//使用OpenGL场景创建一个窗口,参数为窗口名称
	init();											//调用初始化函数
	glutDisplayFunc(display);						//注册用于显示图形的回调函数,每当GLUT认为需要重绘窗口时,都会执行该函数,故应将重绘场景所需调用的函数都放到显示回调函数中。
	glutMainLoop();									//进入主循环并处理事件,此时创建的所有窗口都会显示出来,被渲染到这些窗口中的内容也将显示出来,程序开始处理事件,注册的显示回调函数被触发

	return 0;										//ANSI C要求函数main()返回一个int值
}


运行结果,如下图:



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值