Qt OpenGL
文章平均质量分 82
Qt下的OpenGL
冯一川
如果理论和现实出现冲突的时候,我们一般认为理论错了。你好,我是冯一川,这是我最喜欢的一句话。
展开
-
OpenGL(十九)——Qt OpenGL波动纹理(旗子的飘动效果)
这样使得我们的波浪可以“居中”(这样计算所得结果将落在区间[-4.5,4.5]之间)。点[x][y][2]最后的值就是一个sin函数计算的结果。在日常的项目中,我们经常会实现波动的一些纹理效果,比如飘动的旗子,水的波纹,地图上某一点的波浪圈圈等...,本篇介绍波动纹理的实现,旗子的飘动。通过上面的结果展示,我们可以看到旗子飘动的效果,文章所需的资源,我放到了百度网盘,如果链接失效,大家可以私信我。在实现波动效果的时候,常用的波动使用的就是正弦函数sin,然后再叠加纹理的实现,就能实现飘动的旗子了。...原创 2022-07-30 23:11:05 · 1983 阅读 · 0 评论 -
OpenGL(十八)——Qt OpenGL绘制一个3D世界
从磁盘上载入世界资料,会给我们带来更多的弹性,可以让我们体验不同的世界,现在这些日子您所需要的是一个大一点的、更复杂些的、动态3D世界,它带有空间的六自由度和花哨的效果如镜像、入口、扭曲等等,通过上面的结果展示,我们可以看到3D的效果,文章所需的资源,我放到了百度网盘,如果链接失效,大家可以私信我。如果您有兴趣知道下面的每一行代码是如何运行的话,请下载完整的源码,并在浏览这一课的同时,对源码进行跟踪。当您想要使用一系列的数字来完美的表达3D环境时,随着环境复杂度的上升,这个工作的难度也会随之上升。.....原创 2022-07-30 22:45:26 · 2946 阅读 · 1 评论 -
OpenGL(十七)——Qt OpenGL在三维空间移动位图(会动的星星)
星星实际上是一个平面的纹理。现在您在屏幕中心画了个平面的四边形然后贴上纹理,这看起来很不错。一切都如您所\ 想的那样。但是当您当您沿着y轴转上个90度的话,纹理在屏幕上就只剩右侧和左侧的两条边朝着您。看起来就是一条细线。\ 这不是我们所想要的。我们希望星星永远正面朝着我们,而不管屏幕如何旋转或倾斜。......原创 2022-07-30 16:03:11 · 2276 阅读 · 1 评论 -
OpenGL(十六)——Qt OpenGL融合(将两张图片叠合成一张图片)
在常用的项目场景中,我们经常会遇到将两个图片合在一起变成一张图片,这时候就会有前后之分,特别是两个物体合在一起的时候,从前面看就更有前后(深度)之分了,也可以理解成遮挡。这样的一种技术实现OpenGL里叫融合。......原创 2022-07-28 22:56:50 · 4478 阅读 · 2 评论 -
OpenGL(十五)——Qt OpenGL三种不同的纹理滤波方式、光照、物体的移动
本篇分享1、如何使用三种不同的纹理滤波方式。2、如何使用键盘来移动场景中的对象,3、如何在OpenGL场景中应用简单的光照。原创 2022-07-26 23:30:46 · 3282 阅读 · 0 评论 -
OpenGL(十四)——Qt OpenGL纹理
纹理(Texture)的本质是一个2D图片(1D和3D),或者叫图形数据。只是在OpenGL中专业术语中称其为纹理。你可以这样理解纹理,你家房子装修,你想要在不同的房间贴上不同风格的墙纸,有科技感的,有雍容华贵的,还有动漫的等等,此时的墙纸就是我们所说的纹理了。......原创 2022-07-16 23:13:00 · 2340 阅读 · 0 评论 -
OpenGL(十三)——Qt OpenGL绘制三维图形
OpenGL渲染3D物体到屏幕上的过程其实类似我们平时用照相机拍照的过程,这个步骤大致如下:一、把照相机固定在三脚架并让它对准场景(视图变换)二、把场景中的物体调整摆放好(模型变换)三、选择照相机的镜头,并调整放大倍数(投影变换)四、确定最终照片的大小(视口变换)其中视图变换必须要在模型变换之前,其它可以在任何时候。......原创 2022-07-16 22:36:43 · 10154 阅读 · 1 评论 -
OpenGL(十二)——Qt OpenGL绕着坐标轴旋转多边形
可以看到,通过定时器刷新rTri和rQuad的值,并update()重绘,可以看到三角形和四边形在旋转,旋转的效果,你可以把代码在Qt中运行一下看看。这与我们在OpenGL中绕着X轴旋转什么的情形是一样的。Y轴-假设您正处于一个巨大的龙卷风中心,龙卷风的中心从地面指向天空(就像OpenGL中的Y轴)。多边形的旋转,在类中增加两个变量来控制这两个对象的旋转。这与我们在OpenGL中绕着Y轴旋转什么的情形是一样的。这与我们在OpenGL中绕着Z轴旋转什么的情形是一样的。多边形的旋转主要使用的是函数。......原创 2022-07-16 17:36:40 · 3133 阅读 · 0 评论 -
OpenGL(十一)——Qt OpenGL给多边形上色
//! 现在我们绘制一个单调着色——蓝色的正方形。最重要的是要记住,设置当前色之后绘制的所有东东都是当前色的。 //! 以后您所创建的每个工程都要使用颜色。即便是在完全采用纹理贴图的时候,glColor3f仍旧可以用来调节纹理 //! 的色调。等等...,以后再说吧。 //! 我们必须要做的事只需将颜色一次性的设为我们想采用的颜色(本例采用蓝色),然后绘制场景。每个顶点都是蓝色的, //! 因为我们没有告诉OpenGL要改变顶点的颜色。最后的结果是.....全蓝色的....原创 2022-07-16 16:56:34 · 1959 阅读 · 0 评论 -
OpenGL(十)——Qt OpenGL绘制多边形
上篇文章介绍了如何创建一个Qt下的第一个OpenGL程序,代码只是实现了几个重载的函数,但是并未绘制任何东西,这边文章介绍绘制多边形。本文原创作者冯一川(ifeng12358@163.com),未经作者授权同意,请勿转载。在很早之前的文章,使用VS2010工具也编写过,使用OpenGL创建多边形。在Qt下同样的也是使用这样的代码进行绘制。看一下,运行的效果。.........原创 2022-07-16 16:27:05 · 3496 阅读 · 1 评论 -
OpenGL(九)——Qt OpenGL创建一个OpenGL的窗口
这个函数的作用是重新设置OpenGL场景的大小,而不管窗口的大小是否已经改变(假定您没有使用全屏模式)。,上一篇介绍了在Qt的OpenGL实现一个旋转的多边形,是以前学习Qt下OpenGL,参考的NeHe的教程实现的,所以,接下来还是把之前学习的NeHe教程也一起贴出来吧,与小伙伴们一起分享、交流。*如果您对OpenGL已经有所了解的话,您可以在glLoadIdentity()调用之后,函数返回之前,试着添加一些OpenGL代码来创建基本的形。以后的每个教程中我都会在例程的此处增加新的代码。........原创 2022-07-16 15:57:28 · 1551 阅读 · 0 评论 -
OpenGL(八)——Qt OpenGL实现一个旋转的正方体
glRotatef(Angle,Xvector,Yvector,Zvector)负责让对象绕某个轴旋转。Xvector,Yvector和Zvector三个参数则共同决定旋转轴的方向。比如(1,0,0)所描述的矢量经过X坐标轴的1个单位处并且方向向右。(-1,0,0)所描述的矢量经过X坐标轴的1个单位处,但方向向左。实现这样的一个效果主要的步骤就是,先绘制一个正方体,然后通过纹理贴图的方式把图片,贴到你想贴到的具体的面上,总而言之,就是绘制的原理其实就是多个纹理的绘制过程。.........原创 2022-05-26 23:39:32 · 3208 阅读 · 1 评论 -
OpenGL(七)——Qt 中编写OpenGL
OpenGL(七)——Qt 中编写OpenGL一、说明前面介绍了一些OpenGL的绘图的文章,都是在vs2010上编写的,有时候Qt项目中会用到,但是Qt自己有自己的OpenGL库。OpenGL(二)——OpenGL基础知识点(一)OpenGL(三)——OpenGL基础知识点二OpenGL(四)——第一个OpenGL程序——创建一个四边形OpenGL(五)——创建二维图形OpenGL(六)——创建三维图形二、Qt中使用OpenGL在之前的文章中写了怎么在vs中去配置Ope原创 2022-05-26 23:37:36 · 3366 阅读 · 0 评论