当前位置: 代码迷 >> QT开发 >> 任何在qt内运作opengl
  详细解决方案

任何在qt内运作opengl

热度:191   发布时间:2016-04-25 03:05:22.0
任何在qt内运行opengl
我想在qt内做opengl的东西

我是用QGLWidget做的   重写了它的initializeGL paintGL等函数

但是只能显示出背景颜色显示不出其他图形(比如画一个三角形)

问了好多人大家都不知道怎么回事

我发现我的代码必须include<gl/glut.h>   如果不include它,就会无法识别很多opengl的函数
而大家的代码只需要include <QGLWidget>


我怀疑是我的qt本身有问题


有大神知道这是怎么回事么~~
------解决思路----------------------
引用:
Quote: 引用:

Glut是为了便于练习OpenGL时提供的一个跨平台的窗口库,不涉及到OpenGL自身的东西,而Qt自身就是一个窗口库,所以用Qt写OpenGL不需要Glut,Glut里也没有OpenGL的函数。你的代码必须要包含Glut,说明你的代码里用了Glut的内容。
这就是为什么我问你了解Glut吗?


我觉得,qt里的glut和opengl里的glut是一样的

但这不是问题

问题在这里:
网上所有的例子,都有诸如glShadeModel  glLoadIdentity glVertex3f等opengl的函数

而当我照搬这些例子的时候,就会报错,说这些都是未标识符

所以我就在想,是不是少include东西了  所以我就试着include一些gl开头的文件   然后就找到了glut

然后程序就可以运行了  但是除了背景颜色,什么都画不出来


所以我才来这里问    我一直不明白的是网上的例子非常简单,为什么在我这里就运行不正常  为什么会报错说那些都是未标识符

你确定在pro文件里加了 OpenGL 模块?
最好是去看看Qt自带的OpenGL的例子,仔细看人家每个文件的内容,和你的对比。