您的位置:首页 > 理论基础

计算机图形学基础(第二版)陆枫 何云峰(2)我的第一个OpenGL程序

2016-10-12 19:48 316 查看
实际这已经不是我第一次敲这个程序了,但是基于老师在给我们上这门课时实在没搞懂,还是决定自己在敲几遍,方便期末复习。

下面开始绘制矩形啦!

/*

*

*       我使用的IDE是Code::Blocks,具体的搭建方式我是按这个博客搭建的:   http://blog.csdn.net/sophiale07/article/details/44965875
*

*

*

*       1.OpenGL绘制图形,首先引入核心库;

*

*       2.由于无窗口系统,通过头文件引入窗口系统 windows系统中 引入windows.h

*

*               典型的OpenGL程序包括:

*                                   #include<windows.h>

*                                   #include<gl/gl.h>

*                                   #include<gl/glu.h>

*               若使用GLUT库函数实现窗口系统,可用#include<gl/glut.h>  替代  #nclude<gl/gl.h>

*                                                                            #include<gl/glu.h>

*

*

*/

#include <gl/glut.h>

void Initial(void)

{

    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);//设置当前窗口背景颜色为白色

    glMatrixMode(GL_PROJECTION);//指定设置投影参数

    gluOrtho2D(0.0, 200.0, 0.0, 150.0);//设置投影参数

}

void myDisplay(void)

{

 glClear(GL_COLOR_BUFFER_BIT);//使用当前背景色填充窗口

 glColor3f(1.0f, 0.0f, 0.0f);//设置当前的绘图颜色为红色

 glRectf(50.0f, 100.0f, 150.0f, 50.0f);//绘制一个矩形

 glFlush();

}

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

{

 glutInit(&argc, argv);//使用GLUT库之前需要进行初始化

 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//设置窗口的显示模式,此处是使用: RGB颜色模型  单缓存  glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE)

                                             //                                 RGB颜色模型  双缓存  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE)

 glutInitWindowPosition(100, 100);//设置窗口的位置坐标

 glutInitWindowSize(400, 400);//设置窗口的大小

 glutCreateWindow("第一个opengl程序");//创建一个窗口,字符串即上方显示的名字

 glutDisplayFunc(&myDisplay);//窗口中要显示的内容及由函数glutDisplayFunc调用的函数画出来的图形,此处有个重要的回调函数(myDisplay)

 Initial();

 glutMainLoop();//此函数使窗口框架运行起来

 return 0;

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