如何在Qt中Qt配置dllOpenGL

如何在Qt中配置OpenGL? - 知乎39被浏览4728分享邀请回答doc.qt.io/qt-5/qtopengl-index.htmlWarning: This module should not be used anymore for new code. Please use the corresponding OpenGL classes in Qt Gui.41 条评论分享收藏感谢收起f = QOpenGLContext::currentContext()-&versionFunctions&QOpenGLFunctions_4_5_Core&();
f-&initializeOpenGLFunctions();
然后f-&gl函数即可。这个是写在QOpenGLWidget的initialize里的,不清楚直接写在程序里会是什么结果。话说文档里都有,能看得懂自己翻就明白了呀。51 条评论分享收藏感谢收起查看更多回答>> 在Qt中使用OpenGL进行2D绘图
在Qt中使用OpenGL进行2D绘图
所属分类:
下载地址:
2dpainting.zip文件大小:25.41 kB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
Qt中使用OpenGL进行2D绘图,包含QPainter and QGLWidget类的使用。This example shows how QPainter and QGLWidget can be used together to display accelerated 2D graphics on supported hardware.
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
2dpainting.desktop232.00 B 02:37
2dpainting.pro777.00 B 02:37
2.65 kB 02:37
2.42 kB 02:37
3.28 kB 02:37
2.42 kB 02:37
2.17 kB 02:37
2dpainting.exe28.00 kB 11:22
2dpainting.intermediate.manifest638.00 B 11:22
2.58 kB 02:37
2.39 kB 02:37
2.91 kB 02:37
2.27 kB 02:37
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
评价成功,多谢!
下载2dpainting.zip
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:204.480ms - init:0.1;find:0.6;t:0.5;tags:0.3;related:80.1;comment:0.2; 5.8
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧动手搭建Qt下的OpenGL编程框架 - Qt下的OpenGL 编程_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Qt下的OpenGL 编程
动手搭建Qt下的OpenGL编程框架
来源:csdn&
一、&&& 提要
在前面的一篇文章我们已经配置好了opengl的编程环境,今天要做的就是搭建一个Qt的编程框架,方便后面的学习。这一节会涉及到一些OpenGL的基础方法,多用手册和搜索引擎去理解。
二、&& 框架结构
项目的结构如下图。
主要的思路是:mainwindow类用来处理程序的逻辑和交互,nehewidget是继承QGLWidget的,用来绘制Opengl。在.pro文件中一定要加入QT+= opengl,还有喔没有使用QtCreater的ui编辑功能。
QGLWidget中最重要的三个方法是:
paintGL() -渲染OpenGL场景,当窗口需要刷新的时候就会被调用 .
resizeGL() -设置OpenGL的视口和一些属性,当窗口改变大小和窗口被创建的时候被调用。resizeGL()在处理完后会自动刷新屏幕。
initializeGL() -设置OpenGL的渲染环境,定义显示选项,当resizeGL() 或 paintGL()第一次运行的时候被调用。
二、&& 框架实现
main.cpp没有做任何改动。
#include &QtGui/QApplication&#include "mainwindow.h"int main(int argc, char *argv[]){&&& QApplication a(argc, argv);&&& MainW&&& w.show();&&& return a.exec();}
mainwindow.h
将nehewidget作为自己的一个私有变量,并定义键盘事件。
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include &QtGui/QMainWindow&#include &QKeyEvent&#include "nehewidget.h"class MainWindow : public QMainWindow{&&& Q_OBJECTpublic:&&& MainWindow(QWidget *parent = 0);&&& ~MainWindow();protected:&&&&&& //处理键盘事件&&& void keyPressEvent( QKeyEvent *e );private:&&& NeHeWidget *neheW};#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent)&&& : QMainWindow(parent){&& neheWidget = new NeHeWidget();&&& fullscreen =&&& setGeometry(100,100,);&&& setWindowTitle(tr("NeHe's OpenGL Framework"));&&& setCentralWidget(neheWidget);}MainWindow::~MainWindow(){}void MainWindow::keyPressEvent(QKeyEvent *e){&&& switch ( e-&key() )&&&&& {&&&&& case Qt::Key_F2:&&&&&&& fullscreen = !&&&&&&& if ( fullscreen )&&&&&&& {&&&&&&&&& showFullScreen();&&&&&&& }&&&&&&& else&&&&&&& {&&&&&&&&& showNormal();&&&&&&& }&&&&& neheWidget-&updateGL();&&&&&&&&&&&& case Qt::Key_Escape:&&&&&& close();&&&&&&&&&&& }}
nehewidget.h
#ifndef NEHEWIDGET_H#define NEHEWIDGET_H#include &QGLWidget&#include &QtGui&#include &QtOpenGL&class NeHeWidget : public QGLWidget{&&& Q_OBJECTpublic:&&& explicit NeHeWidget(QWidget *parent = 0);&&& ~NeHeWidget();protected:&&& //设置渲染环境&&& void initializeGL();&&& //绘制窗口&&& void paintGL();&&& //响应窗口的大小变化&&& void resizeGL( int width, int height );};#endif // NEHEWIDGET_H
nehewidget.cpp
#include "nehewidget.h"NeHeWidget::NeHeWidget(QWidget *parent) :&&& QGLWidget(parent){}NeHeWidget::~NeHeWidget(){}void NeHeWidget::initializeGL(){&&&& // 启用阴影平滑&&& glShadeModel( GL_SMOOTH );&&& // 黑色背景&&& glClearColor( 0.0, 0.0, 0.0, 0.0 );&&& // 设置深度缓存&&& glClearDepth( 1.0 );&&&& // 启用深度测试&&& glEnable( GL_DEPTH_TEST );&&& // 所作深度测试的类型&&& glDepthFunc( GL_LEQUAL );&&& // 告诉系统对透视进行修正&&& glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );}void NeHeWidget::paintGL(){&&& // 清除屏幕和深度缓存&&& glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );&&& glLoadIdentity();&&& //坐标转移&&& glTranslatef(-1.5f,0.0f,-6.0f);&&& //设置颜色&&& glColor3f( 1.0, 1.0, 1.0 );&&& //绘制一个正方形&&& glBegin( GL_QUADS );&&& glVertex3f( -1.0,& 1.0,& 0.0 );&&& glVertex3f(& 1.0,& 1.0,& 0.0 );&&& glVertex3f(& 1.0, -1.0,& 0.0 );&&& glVertex3f( -1.0, -1.0,& 0.0 );&&& glEnd();}&// 重置OpenGL窗口大小void NeHeWidget::resizeGL(int width, int height){&&&&&&& // 防止窗口大小变为0&&& if ( height == 0 )&&& {&&&&&&& height = 1;&&& }&&& // 重置当前的视口&&& glViewport( 0, 0, (GLint)width, (GLint)height );&&& // 选择投影矩阵&&& glMatrixMode( GL_PROJECTION );&&&&&&& // 重置投影矩阵&&& glLoadIdentity();&&& // 设置视口的大小&&& gluPerspective( 45.0, (GLfloat)width/(GLfloat)height, 0.1, 100.0 );&&& // 选择模型观察矩阵&&& glMatrixMode( GL_MODELVIEW );&&& glLoadIdentity();}
三、程序说明
&&&&F2用于全屏显示,ESC退出,程序绘制了一个正方形,且改变窗口大小,图形会按比例改变。
OpenGL的一些初始化函数就一一解释了,注释里面有一些信息,以后遇到的话再仔细解释。
框架搭建好之后学习我们主要去修改void NeHeWidget::paintGL()就可以了实现相应的效果了。2
【内容导航】
相关资讯 & & &
& (08月07日)
& (12/13/:18)
& (08/25/:15)
& (03月10日)
& (10/23/:17)
& (08/25/:52)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款linux qt如何在imx6上跑opengl es?请大侠求救 - i.MX产品 - 恩智浦技术社区
后使用快捷导航没有帐号?
查看: 7370|回复: 13
linux qt如何在imx6上跑opengl es?请大侠求救
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
请问linux qt如何移植opengl es?求各位大神协助一下,谢谢!
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
configure QT4.85代码时添加了-opengl es2 -egl两个选项,报如下错误
EGL (GLES/egl.h) disabled.
The EGL functionality test failed!
EGL is required for OpenGL ES to manage contexts & surfaces.
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in
/opt/A9/qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-g++
该用户从未签到主题帖子积分
新手上路, 积分 36, 距离下一级还需 14 积分
新手上路, 积分 36, 距离下一级还需 14 积分
没把 egl的头文件 和 库加进来
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
没把 egl的头文件 和 库加进来
你好!我再官网上下了个L3.0.35_4.1.0_DEMO_IMAGE_BSP,并在上面找到egl的库和头文件,链接进去,但是还是报这个,是qws/linux-arm-g++这个的问题吗?或者说要怎么加啊?请指点一下,谢谢
该用户从未签到主题帖子积分
新手上路, 积分 36, 距离下一级还需 14 积分
新手上路, 积分 36, 距离下一级还需 14 积分
你把你的 configure 配置发上来
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
你把你的 configure 配置发上来
./configure -prefix /opt/A9/Qt4.8.5_forArm -opensource&&-confirm-license -embedded arm -xplatform qws/linux-arm-g++ -platform /qws/linux-x86-g++ -little-endian -verbose -opengl es2 -egl -host-little-endian -shared -no-qt3support -no-phonon -no-phonon-backend -qt-zlib -no-gif -no-libtiff -no-qvfb -qt-libjpeg -no-nis -no-opengl -no-cups -no-webkit -no-glib -no-dbus -no-rpath -no-mmx -no-3dnow -no-sse -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-neon -no-audio-backend -no-svg -no-javascript-jit -no-script -no-scripttools -no-multimedia -no-openssl -nomake tools -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -I/opt/rootfs/usr/include -L/opt/rootfs/usr/lib
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
你把你的 configure 配置发上来
谢谢帮忙啊!
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
你把你的 configure 配置发上来
现在报的错是
OpenGL ES 2.x disabled.
The OpenGL ES 2.0 functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in
/opt/A9/qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-g++.
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
你把你的 configure 配置发上来
我多写了个-no-opengl
该用户从未签到主题帖子积分
注册会员, 积分 74, 距离下一级还需 126 积分
注册会员, 积分 74, 距离下一级还需 126 积分
自己顶一下!求协助帮忙啊,看了,说要linux-imx6-g++以及0001-add-i.MX6-EGL-support.patch文件,请问哪里有呢!
站长推荐 /2
社区做了那么多期的54114的活动,大家是否已经形成了一个完整的知识体系?
是否对这块板卡已经了如指掌?如果你的答案是肯定的,那么恭喜你,你离大牛又更近一步了(如果已经是大牛的请无视我~)
如果还没有,那么,社区给你一个学习的好机会!
看直播,学知识,赢好礼!NXP技术日直播——汽车电子方案研讨会正在报名中。5位技术大咖7小时深度解读汽车微控制器技术,即刻报名,干货及福利,请一并带走!
Tel: 3-8069
版权所有@苏州灵动帧格网络科技有限公司
Powered by}

我要回帖

更多关于 qt5.3.1安装配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信