Qt5+OpenGL
_寒潭雁影
中科大IT向博士,熟悉MFC,C++,C等语言,参与过ffmpeg、机器视觉、并行计算、数据库等相关项目的研发和代码的编写http://blog.csdn.net/weixinhum为本人博客,上面记录了本人的一些技术总结
展开
-
QT框架下的OpenGL使用---实战篇---鼠标选取点对象
本篇文章是点云显示和交互以及摄像机这两篇文章的后续,如有疑惑可查看这两篇文章。在OpenGL的使用中,用其显示3D点云是非常常见的操作,而进一步让用户可以选择点云以查看其信息可以使得开发变得更加简单,本篇文章我们将讨论怎么实现这一功能。要用鼠标圈选点云,要解决的问题就是得到鼠标圈选的范围内有哪些点,也就是要知道OpenGL的顶点到屏幕坐标之间的映射关系。这一映射关系我们在摄像机这篇文章已经得到了,它就是:QMatrix4x4 mvp;这个对象,我们在顶点着色器中用它和顶点坐标相乘直接得到了顶点.原创 2020-10-08 18:09:44 · 3596 阅读 · 3 评论 -
QT框架下的OpenGL使用---实战篇---图像的显示
阅读本篇文章需要提前掌握OpenGL纹理的相关知识。做计算机视觉或者播放器等项目,通常需要将图像处理的结果显示给用户看,在Qt上可以用label控件来完成,但其效率相对较低。这里我们介绍一种用Qt自带的OpenGL来做这件事情的方法。图像的显示在前面OpenGL纹理的文章中我们介绍了怎么在Qt自带的OpenGL上贴纹理,这在3D制作上是非常重要的(后面光追一普及操作复杂度可能要远比现在低)。对于只想要显示2D图像的老哥而言,同样可以用纹理贴图来实现。原理非常简单:用两个三角形直接填充满整个视图,.原创 2020-08-17 23:12:18 · 5354 阅读 · 1 评论 -
QT框架下的OpenGL使用---复现篇---纹理
本篇文章的复现对应于LearnOpenGL教程的入门纹理教程。使用OpenGL时经常需要在画面中显示2D的图像或是给3D的图形表面贴一张2D的图像,这个时候就会用到纹理贴图。具体的细节LearnOpenGL教程已经讲得很清楚了,这里就不再赘述。不过,有一点比较神奇也可以说是反直觉的地方需要注意一下。在以前的认知中,图像一般要放在一个矩形框中进行显示,很多时候我们用QT或者MFC等界面库的时候也的确就是这么操作的。然而在OpenGL或者Direct这种渲染程序中不是这样的,它们的图元中并不存在矩形(从.原创 2020-08-17 10:07:17 · 1690 阅读 · 0 评论 -
QT框架下的OpenGL使用---实战篇---点云显示和交互
阅读本篇文章需要提前掌握OpenGL顶点和着色器及摄像机的相关知识。前面复现篇的两篇文章中介绍了Qt+OpenGL框架下顶点和着色器及摄像机的知识,接下来我们用这两个知识来实现3D领域非常常见的任务—点云显示和交互。点云的显示3D领域常见的一个需求是将点云显示出来给用户,这个功能乍一看好像还比较复杂,实则不然,只要我们学会OpenGL的顶点和着色器的知识就能轻松搞定。原理很简单,只要直接将点云当成是OpenGL的"点"图元进行处理就可以了。在顶点和着色器的复现文章中,我们绘制的图元是三角形,代码.原创 2020-08-14 15:56:31 · 11926 阅读 · 24 评论 -
QT框架下的OpenGL使用---复现篇---顶点和着色器
本篇文章的复现对应于LearnOpenGL教程的入门你好,窗口,你好,三角形,着色器三篇教程。在QT框架中使用OpenGL首先新建一个Qt Widgets Application工程,注意把创建界面点掉,以便我们用代码来创建界面。接着添加一个继承QOpenGLWidget的类来使用OpenGL,这里命名为MyOpenGLWidget,类的具体声明和定义如下:MyOpenGLWidget.h#ifndef MYOPENGLWIDGET_H#define MYOPENGLWIDGET_H#i.原创 2020-08-13 15:56:55 · 3009 阅读 · 1 评论 -
QT框架下的OpenGL使用---复现篇---摄像机
QT框架下的OpenGL使用—复现篇—摄像机OpenGL编程中,始终会用到的除了顶点和着色器外,应该就属摄像机了。在QT封装的OpenGL中,可以通过QMatrix4x4这个类来设置摄像机的各种参数,其中最为基础的两个函数为perspective及lookAt。perspective函数用于设置摄像头自身的信息,有四个参数,含义如下:参数一:视角大小(度数)参数二:视角的宽长比参数三:近平面距离参数四:远平面距离通过设置视角的大小,我们可以模拟出远近的效果。例如在近距离下,我们能看到的东西原创 2020-08-13 15:45:20 · 2654 阅读 · 2 评论