OpenGL的"HelloWorld"

来源:互联网 发布:矩阵机箱 编辑:程序博客网 时间:2024/05/23 17:50

#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;
}

原创粉丝点击