云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Qt+OpenGL教程

Qt+OpenGL教程

  • 62 次阅读
  • 3 次下载
  • 2026/1/12 5:23:03

Qt OpenGL教程

Qt OpenGL的准备工作

第三课:上色 第四课:旋转

第一课:创建一个OpenGL窗口 第二课:你的第一个多边形 第五课:向三维进军 第六课:纹理映射

第七课:纹理滤波、光源和键盘控制 第八课:融合

第九课:在三维空间中移动位图

第十课:载入一个三维世界并在其中移动 第十一课:旗的效果(波动纹理) 第十二课:显示列表

第十三课:位图字体 第十四课:轮廓字体

第十五课:使用纹理映射的轮廓字体 第十六课:看起来很棒的雾

因为本教程是从NeHe的OpenGL教程迁移过来的,代码变为Qt实现的。所以有的课程一时还没有实现成功,所以可能有些教程是跳跃的。

因本人时间有限,所以难免有错误出现,如果您发现了这些错误,或者有什么建议,请来信指教,谢谢。

Qt OpenGL的准备工作

因为Qt存在很多版本,另外它支持的平台也很多,到目前为止我只实验了几个组合,所以就先把这些列出来吧,欢迎大家补充。

Unix/X11

Linux

Qt:自由版或者企业版都支持OpenGL模块,而专业版则不能。我现在使用的是3.1.0自由版和企业版。

gcc:编译器。我现在使用的是3.2。

X:Linux下的图形环境。我现在使用的是4.2.0。 Mesa:自由的OpenGL。我现在使用的是5.0。

Windows

Qt:企业版支持OpenGL模块,而专业版则不能。我现在使用的是3.1.0企业版。 Microsoft Visual Studio:编译器。我现在使用的是6.0。

创建一个OpenGL窗口

我假设您对Qt编程已经有了一定的了解,如果您还没有熟悉Qt编程,建议您先学习一下Qt编程的基础知识。

Qt中已经包含了OpenGL模块,具体情况您可以参考Qt OpenGL模块的相关内容。

NeHeWidget类

这就是我们继承QGLWidget类得到的OpenGL窗口部件类。 (由nehewidget.h展开。) #include

class NeHeWidget : public QGLWidget {

Q_OBJECT

因为QGLWidget类被包含在qgl.h头文件中,所以我们的类就需要包含这个头文件。Q_OBJECT是Qt中的一个专用的宏,具体说明请参见Qt的文档。 public:

NeHeWidget( QWidget* parent = 0, const char* name = 0, bool fs = false ); ~NeHeWidget();

protected:

void initializeGL(); void paintGL();

void resizeGL( int width, int height );

因为QGLWidget类已经内置了对OpenGL的处理,就是通过对initializeGL()、paintGL()和resizeGL()这个三个函数实现的,具体情况可以参考QGLWidget类的文档。

因为我们的这个Qt OpenGL教程取材于NeHe OpenGL教程,所以这里就用这个NeHeWidget类来继承QGLWidget类来使用相关OpenGL的功能。

initializeGL()是用来初始化这个OpenGL窗口部件的,可以在里面设定一些有关选项。paintGL()就是用来绘制OpenGL的窗口了,只要有更新发生,这个函数就会被调用。resizeGL()就是用来处理窗口大小变化这一事件的,width和height就是新的大小状态下的宽和高了,另外resizeGL()在处理完后会自动刷新屏幕。 void keyPressEvent( QKeyEvent *e ); 这是Qt里面的鼠标按下事件处理函数。 protected:

bool fullscreen;

用来保存窗口是否处于全屏状态的变量。 };

(由nehewidget.cpp展开。)

搜索更多关于: Qt+OpenGL教程 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Qt OpenGL教程 Qt OpenGL的准备工作 第三课:上色 第四课:旋转 第一课:创建一个OpenGL窗口 第二课:你的第一个多边形 第五课:向三维进军 第六课:纹理映射 第七课:纹理滤波、光源和键盘控制 第八课:融合 第九课:在三维空间中移动位图 第十课:载入一个三维世界并在其中移动 第十一课:旗的效果(波动纹理) 第十二课:显示列表 第十三课:位图字体 第十四课:轮廓字体 第十五课:使用纹理映射的轮廓字体 第十六课:看起来很棒的雾 因为本教程是从NeHe的OpenGL教程迁移过来的,代码变为Qt实现的。所以有的课程一时还没有实现成功,所以可能有些教程是跳跃的。 因本人时间有限,所以难免有错误出现,

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com