Qt5中关于OpenGL部分的学习

一个阶段性的任务完成了,我开始继续学习游戏开发和Qt。
因为Qt5的迅猛发展,我开始将自己精力逐渐从Qt4发展到Qt5。在我计算机中已经有很多个Qt版本了:Qt4.8.1、Qt4.8.3、Qt4.8.4、Qt5.0.1、Qt5.0.2。可见Qt5系列的版本正在增多,以后可能会淘汰若干个Qt4.x版本,而只留下一个。

Qt5的最大变化之一就是Qt的OpenGL模块。按照Qt的文档中的说法,Qt5将QtOpenGL模块取消,并将原OpenGL的部分整合至Qt GUI中,为常见的GUI渲染增加OpenGL方式,并且添加了诸多OpenGL的封装类。个人感觉Qt5的OpenGL整合至GUI中是为了发展支持多个平台(包括Digia和大家觊觎的移动平台)的渲染而做出的努力,同时也是对Qt5的平台抽象(Qt Platform Abstration)的呼应,大家不是感觉Qt5比较慢不是么,我想应该因为Qt对平台做了一层抽象。

Qt5中关于OpenGL部分的学习_第1张图片

为了尝试Qt5使用OpenGL的效果,我将Qt5.0.2的例子编译了一遍,结果仅仅得出四个应用程序。这几个程序中有的是Qt4时代留下来的,有的则是全新的程序。值得注意的是HelloGLES2这个例子,它使用的是GLES2.0的API,而不是旧的OpenGL API。因为我的计算机最高可以支持OpenGL4.3规范,所以运行GLES2.0并无压力。程序的运行结果如下所示:

Qt5中关于OpenGL部分的学习_第2张图片

Qt5中关于OpenGL部分的学习_第3张图片Qt5中关于OpenGL部分的学习_第4张图片

Qt5中关于OpenGL部分的学习_第5张图片

Qt5中关于OpenGL部分的学习_第6张图片

有些例子无法编译是因为在configure的阶段没有添加-opengl desktop。看来自己要下载源代码自己进行编译了。

你可能感兴趣的:(OpenGL,qt5)