在网上的教程指导之下在vs2017环境下安装了OpenGL库。安装完毕之后的第一件事当然是试一下能不能用它完成炫酷的3D图像绘制(……)
非常幸运的成功了,当然这么难的代码一看就不是我这个入门小白能写的出来的,于是打开了老师发的学习地址,想下载源代码开始学习,结果发现源文件下载404错误,接着又看了看教程里的代码和文字,发现这些内容对我来说还是有一些难…于是就在博客网站上找了OpenGL入门教程,进行了我的第一个OpenGL程序运行。
从简单的正方形学起果然快乐多了,下面来解释记录一下源代码。
int main(int argc, char *argv[]) //常用的main函数,此处函数内调用的都是glut库内的函数。
1、glutInit(&argc, argv);//对GLUT进行初始化,一般在使用其他GLUT下函数前都要调用一次,但是试了一下发现这个程序里不用也没关系,应该是程序比较简单的缘故。
2、glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//设置显示方式,其中两个参数GLUT_RGB表示使用RGB颜色,(GLUT_INDEX表示使用索引颜色);//GLUT_SINGLE表示使用单缓冲,(GLUT_DOUBLE使用双缓冲)。
3、glutInitWindowPosition(100, 100);//设置窗口的位置。
4、glutInitWindowSize(400, 400);//设置窗口的大小。
5、glutCreateWindow("myy的第一个OpenGL程序");//创建窗口,字符串是窗口打印的内容。需要glutMainLoop();才能看到窗口。
6、glutDisplayFunc(&show);//画图函数。
7、glutMainLoop();//进行一个消息循环,也类似于用于显示窗口,这里不太理解消息循环是什么东西。
void show();// 调用的都是gl库内的函数
1、glClear(GL_COLOR_BUFFER_BIT);//清除颜色,参数可以改变。这个程序同样可以省略这句话。
2、glColor3f(1.0f, 1.0f, 0.0f);// 设置矩形的颜色,此处为RGB颜色。
3、glRectf(-0.5f, -0.5f, 0.5f, 0.5f); //画一个矩形,参数是矩形四角的坐标。
4、glFlush();//保证前面的OpenGL命令立即执行,这句话一定要加,不然程序会待在缓冲区,窗口一片空白。
接着就可以照葫芦画瓢的画出很多形状了,比如圆:
在这个程序里,n的值越大形成的图形就会越接近一个正圆,glBegin();和glEnd();两个函数在我的理解里则是为了形成一个封闭的路径。
于是我的第一个OpenGL程序就这样结束辽~~