OpenGL入门(一)freeglut和glew的编译

写在前面

最近对OpenGL编程又双叒产生了浓厚的兴趣,决定把学习OpenGL过程中学到的知识都整理到博客中来,一来方便日后查看,而来也是为了和诸位大佬共勉。有不当的地方还望诸位批评指正,谢谢。
本系列博客将使用freeglut3.0.0和glew2.1.0和vs2017,在win10平台上开发。

关于glut、freeglut、glew

在我们进行OpenGL编程的时候,我们需要先建立一个窗口来显示图形,还需要从鼠标、键盘获取事件。但OpenGL仅仅是针对图形化的一个接口,它是跨平台的,至于如何建立窗口和监听IO由平台自带库实现,像windows可以用windows.h里面的方法建立窗口,但使用自带库建立窗口一般都特别麻烦。于是图形学大神Mark Kilgard坐不住了,一声炮响为我们送来了glut。glut(OpenGL实用工具库)为我们提供了一个统一的接口,方便我们进行窗口管理,IO监听,还包括一些三维物体绘制函数,用来绘制特定的更为复杂的物体,像球体、圆面体、茶壶等。而glut是闭源的,从2000年之后没有更新,算是gg了。freeglut是glut的一个开源版本,一直有专门的人员维护和更新。
再说glew。glew是一个跨平台的C++扩展库,它的出现是为了方便的管理平台与opengl版本不匹配,以及方便的解决不同显卡特有的硬件接口支持。window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识 别你的平台所支持的全部OpenGL高级扩展涵数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全 部函数。GLEW支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)。

编译freeglut

在SourceForge上freeglut3的源代码,我们需要下下来编译一次才可以使用。在这里我把自己编译好的文件上传到了csdn,大家可以直接下下来用:https://download.csdn.net/download/renkai0406/10367793
那如何编译freeglut呢?首先点开https://sourceforge.net/projects/freeglut/?source=typ_redirect 然后点击下载,得到源代码。打开CMake GUI,在source code中选择freeglut-3.0.0(而不是freeglut-3.0.0的子目录src),build binaries 中选择你要生成的项目地址。之后点击configure选择编译平台(vs2017),确定,等待配置完成。点击generate生成最终文件,再点击Open Project用vs打开最终生成的项目:
这里写图片描述
在vs中选择f配置方案为release,平台为win32,右键项目->声称解决方案。至此,编译完成。然后,把freeglut-3.0.0里面的include下的文件,CMake生成的项目(此处为freeglut-VisualStudio)里面的lib->release->freeglut.lib、freeglut_static.lib复制到专门的文件夹下(本人放到F:\OpenGL\freeglut3.0.0下方便以后使用),freeglut-VisualStudio里面的bin->release->freeglut.dll复制到系统盘->Windows->System32下。

glew

在glew官网上有glew源代码,也有最终编译文件,我们直接拿过来用就行:https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0-win32.zip/download

结语

至此,我们就得到了freeglut和glew的库文件,之后我们在项目中引入就可以了。

猜你喜欢

转载自blog.csdn.net/renkai0406/article/details/80045131