起点0615的个人主页

http://www.qtcn.org/bbs/u/145133  [收藏] [复制]

起点0615

与时具进,掌握最新技术!!

  • 8

    关注

  • 7

    粉丝

  • 10

    访客

  • 等级:新手上路
  • 总积分:48
  • 男,1992-07-15

最后登录:2021-11-20

更多资料

日志

OpenGL的引入

2013-08-17 20:24
OpenGL的引入

需加入的头文件:#include<QGLWidget>
并在.pro文件中加入:QT += opengl

·使用基本方法
   QGLWidget派生自Qwidget,故绝大多数情况下QGLWidget可以像QWidget一样使用,只是使用OpenGL的函数替代QPainter实现绘制。通常通过子类化QGLWidget来实现OpenGL的使用,
QGLWidget提供了三个虚函数用以重载来实现OpenGL的绘制:
·paintGL()
·窗口绘制函数,相当于paintEvent(),但QGLWidget依旧有自己的paintEvent()。

·paintGL()只在需要重绘时被调用,即调用updateGL()时被调用
·在此使用OpenGL中的函数进行场景绘制,部分函数实际是QGLWidget的函数成员

·resizeGL()
·第一次调用paintGL()之前initializeGL()之后调用resizeGL()函数,窗口大小发生改变时也会调用该函数
·在此设置视口,投影和其它与窗口部件尺寸相关的设置

·initializeGL()
·相当于注册函数,在调用paintGL()之前只被调用一次
·在此初始化GL环境:设置场景全局的属性,绘图描述表,定义显示列表,执行其它的初始化

此外
·updateGL()
·更新场景,通知调用paintGL(),在任何改变场景后调用,但自身不用实现。

·交互控制
·鼠标和键盘事件可通过mousePressEvent()和keyPressEvent()进行处理,与QWidget相同。要创建动画,只需启动QTimer,然后调用updateGL()。
分类:qt|回复:0|浏览:1460|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:04-20 04:01
©2005-2016 QTCN开发网 版权所有 Gzip disabled