您的位置:首页 > 运维架构

OpenGL的"HelloWorld"

2010-04-09 09:04 507 查看
#include <gl/glut.h>

void Initial(void)

{

glClearColor(1.0f,1.0f,1.0f,1.0f);//设置颜色

glMatrixMode(GL_PROJECTION);/*设置当前矩阵模式:

GL_PROJECTION,对投影矩阵应用随后的矩阵操作.

   GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.

   GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作.*/

gluOrtho2D(0.0,200.0,0.0,150.0);//定义了一个二维图像投影矩阵,void gluOrtho2D(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top)

}

void Display(void)

{

glClear(GL_COLOR_BUFFER_BIT);//清空当前所有颜色

glColor3f(1.0f,0.0f,0.0f);

glRectf(50.0f,100.0f,150.0f,50.0f);//void glRectf(GLfloat x1,GLfloat y1,GLfloat x2,GLfloat y2)

glFlush();//强制把指令从缓冲区送到驱动

}

int main(int argc,char *argv[])

{

glutInit(&argc,argv);//初始化GLUT库,从main函数获取参数;

glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);

/*设置图形显示模式,参数可选值为:

GLUT_SINGLE:使用单缓存;

GLUT_DOUBLE:使用双缓存,避免把作图过程表现出来,或为了平滑的实现动画;

GLUT_RGB:默认使用的模式,建立RGB模式的窗口*/

glutInitWindowSize(400,300);

glutInitWindowPosition(100,120);

glutCreateWindow("矩形");//产生顶层窗口,int glutCreateWindow(char* name),name 做为窗口的名字,是标题栏显示的内容;

glutDisplayFunc(Display);//为当前窗口设置显示回调函数;

Initial();

glutMainLoop();//进入事件循环,一个glut程序最多调用一次,一旦调用,直到程序结束才返回

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: