
Qt OpenGL
文章平均质量分 82
cly116
这个作者很懒,什么都没留下…
展开
-
【转】Qt经典出错信息之undefined reference to `vtable for classname'
这个出错信息太常见了,用过Qt两个月以上的朋友基本上都能自己解决了,因为太经典了,可以给新手参考。出错信息一般类似:undefined reference to `vtable for classname MyWidget`在执行make命令后出现。出错原因是在定义类的时候为了能使用signals和slot,在类定义的后面加了Q_OBJECT引起。 因为Q_OBJECT是一个宏转载 2015-07-11 23:45:58 · 1222 阅读 · 0 评论 -
【Qt OpenGL教程】15:图形字体的纹理映射
这次教程中,我们将在第14课的基础上创建带有纹理的字体,它真的很简单。也许你想知道如何才能给字体赋予纹理贴图?我们可以使用自动纹理坐标生成器,它会自动为字体上的每一个多边形生成纹理坐标。原创 2015-08-05 16:44:04 · 3967 阅读 · 0 评论 -
【Qt OpenGL教程】16:看起来很酷的雾
这次教程中,我们将在第07课代码的基础上,为木箱的四周填上雾效果。我们将会学习三种不同的雾模式,以及怎么设置雾的颜色和雾的范围。虽然这次教程非常简单,但我们得到的雾效果确实很棒!希望大家能喜欢,当然你也可以把雾效果加到任何一个OpenGL程序中,我相信总能檫出美丽的火花!原创 2015-08-05 19:16:10 · 3356 阅读 · 0 评论 -
【Qt OpenGL教程】17:2D图像文字
这次教程中,我们将学会如何使用四边形纹理贴图把文字显示在屏幕上。我们将把256个不同的文字从一个256×256的纹理图像中一个个提取出来,接着创建一个输出函数来创建任意我们希望的文字。原创 2015-08-05 21:14:22 · 8190 阅读 · 2 评论 -
【Qt OpenGL教程】18:二次几何体
这次教程中,我将介绍二次几何体。利用二次几何体,我们可以很容易创建球、圆盘、圆柱和圆锥。原创 2015-08-06 12:58:53 · 4033 阅读 · 0 评论 -
【Qt OpenGL教程】26:剪裁平面,蒙板缓存和反射
这次教程中,我们将学会如何创建镜面显示效果,它利用到剪裁平面,蒙板缓存等OpenGL中一些高级的技巧。在这课里,我们将创建真正的反射,基于物理的,相信你一定很期待!原创 2015-08-13 14:21:12 · 2088 阅读 · 0 评论 -
【Qt OpenGL教程】24:扩展、剪裁和TGA图像文件的手动加载
这次教程中,我们将学会如何读取自己电脑显卡支持的OpenGL扩展,并在我们指定的剪裁区域把它显示出来,如何自己手动来加载TGA图像文件(作为补充内容,因为Qt有方法可以直接加载TGA图像文件)。这次教程有一些难度,但它会让你学会很多东西。原创 2015-08-11 12:09:04 · 2717 阅读 · 0 评论 -
【Qt OpenGL教程】27:阴影
这次教程中,我们将介绍阴影的绘制,这将是一个高级的主题,请确信你已经熟练地了基本OpenGL,并熟悉蒙板缓存(我们第26课的内容)。当然,我们会一一解释,这次教程中的重点和难度,我希望你能喜欢它!原创 2015-08-15 14:51:18 · 2938 阅读 · 0 评论 -
【Qt OpenGL教程】29:Blitter函数
这次教程中,我们将介绍类似于DirectDraw的blit(其实blit函数在许多绘图库都有),我们将用代码自己来实现它。它的作用非常简单,就是把一块纹理的贴到另一块纹理上。想想,有了这个函数,我们就可以自由拼接纹理了,是不是很棒?原创 2015-08-16 19:19:40 · 2635 阅读 · 0 评论 -
【Qt OpenGL教程】20:蒙板
这次教程中,我们教介绍OpenGL的蒙板技术。到目前为止,我们已经学会如何使用alpha混合,把一个透明物体渲染到屏幕上了,但有时使用它看起来并不是那么的复合我们的心意。使用蒙板技术,将会使图像按照我们设定的蒙板位置精确地绘制。原创 2015-08-07 09:52:58 · 3819 阅读 · 0 评论 -
【Qt OpenGL】Qt Creator中的3D绘图及动画教程
刚刚学习了Qt Creator,发现Qt提供了QtOpenGL模块,对OpenGL做了不错的封装,这使得我们可以很轻松地在Qt程序中使用OpenGL进行绘图渲染。虽然里面还是由不少专业的解释照搬原文的,但还是加入了大量自己的分析。而且Qt中写OpenGL框架上比VC简单太多了,有不少东西都封装优化好了,代码上还是由有很多区别的。当然,其中原教程没解释好的问题我都作了深入的解释,以及一些多余部分解释、代码都被我删掉简化了。原创 2015-08-01 11:15:03 · 30714 阅读 · 1 评论 -
【Qt OpenGL教程】25:变形和从文件中加载3D物体
这次教程中,我们将学会如何从文件中加载3D模型,并且平滑的从一个模型变形为另一个模型。在这一课里,我们将介绍如何实现模型的变形过程,这将会是效果很棒的一课!原创 2015-08-12 20:29:43 · 5755 阅读 · 2 评论 -
【转】贝塞尔曲线和曲面
【转】贝塞尔曲线和曲面原文地址:http://my.oschina.net/sweetdark/blog/183721参数方程表现形式在中学的时候,我们都学习过直线的参数方程:y = kx + b;其中k表示斜率,b表示截距(即与y轴的交点坐标)。类似地,我们也可以用一个参数方程来表示一条曲线。1962年,法国工程师贝塞尔发明了贝塞尔曲线方程。关于贝塞尔曲线的详细介转载 2015-08-15 21:39:38 · 13952 阅读 · 2 评论 -
【Qt OpenGL教程】23:球面映射
这次教程中,我们将学会如何把环境纹理包裹在我们的3D模型上,让它看起来像反射了周围的景象一样,我们把这种纹理映射的方式称为球体映射。球体映射是一种创建金属反射效果的方法,虽然它并不像真实世界里那么精确,但效果还是很不错的!原创 2015-08-10 12:39:28 · 4553 阅读 · 1 评论 -
【Qt OpenGL教程】14:轮廓字体
这次教程中,我将教大家绘制3D的轮廓字体,当然肯定不是贴图方式了,它们可像一般的3D模型一样进行旋转,放缩。原创 2015-08-05 14:12:08 · 5080 阅读 · 0 评论 -
【Qt OpenGL教程】13:位图字体
这次教程中,我们将创建一些基于2D图像的字体,它们可以缩放平移,但不能旋转,并且总是面向前方,但作为基本的显示来说,我想已经足够了。原创 2015-08-04 21:18:01 · 6463 阅读 · 5 评论 -
【Qt OpenGL教程】12:显示列表
想知道如何加速我们的OpenGL程序么?这次教程中,我将告诉你如何使用OpenGL的显示列表,它通过预编译OpenGL命令来加速我们的程序,并可以为我们省去很多重复的代码,听起来是不是很棒呢!原创 2015-08-04 16:08:11 · 3793 阅读 · 0 评论 -
【Qt OpenGL教程】19:粒子系统
这次教程中,我们将创建一个简单的粒子系统,并用它来创建一种喷射效果。利用粒子系统,我们可以实现爆炸、喷泉、流星之类的效果,听起来是不是很棒呢!原创 2015-08-06 17:47:43 · 6513 阅读 · 2 评论 -
【Qt OpenGL教程】21:线、反走样、正投影和简单的声音
这次教程中,我们将介绍线、反走样、正投影和简单的声音,这是第一个大教程,希望这一课的东西大家能够喜欢。这次教程中,我们最终会实现一个不错的2D游戏!原创 2015-08-09 18:16:41 · 3192 阅读 · 0 评论 -
【Qt OpenGL教程】01:创建一个OpenGL窗口
在这个教程里,我们将在Qt Creator环境中创建OpenGL对象,它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出,它将是我们后面应用程序的基础框架。原创 2015-08-01 12:31:02 · 22750 阅读 · 25 评论 -
【Qt OpenGL教程】02:你的第一个多边形
这次教程中,我们将添加一个三角形和一个四边形。或许你认为这很简单,但要知道任何复杂的绘图都是从简单开始的,或者说任何复杂的模型都是可以分解成简单的图形的。所以,我们还是从简单的图形开始吧。原创 2015-08-01 19:44:55 · 9928 阅读 · 10 评论 -
【Qt OpenGL教程】03:添加颜色
这次教程中,我们将在第02课的基础上,教大家如何使用颜色。我们将一起理解两种着色模式(光滑着色与平面着色),并运用这两种模式分别给第02课的三角形和正方形着色。我们将使用平面着色给四边形着色,即给三角形涂上一种固定的颜色;使用平滑着色给三角形着色,将三角形的三个顶点的不同颜色混合在一起,创建漂亮的色彩混合。原创 2015-08-01 21:27:13 · 6460 阅读 · 0 评论 -
【Qt OpenGL教程】04:旋转
这次教程中,我们将在第03课的基础上,教大家如何旋转三角形和四边形。我们将让三角形沿y轴旋转,四边形沿x轴旋转,最终我们能得到一个三角形和四边形自动旋转的场景。原创 2015-08-02 10:39:25 · 10819 阅读 · 2 评论 -
【Qt OpenGL教程】05:3D模型
这次教程中,我们将之前几课的基础上,教大家如何创建立体的3D模型。我们将开始生成真正的3D对象,而不是像之前那几课那样3D世界中的2D对象。我们会把之前的三角形变为立体的金字塔模型,把四边形变为立方体。原创 2015-08-02 12:32:12 · 10947 阅读 · 0 评论 -
【Qt OpenGL教程】07:光照和键盘控制
这次教程中,我们将添加光照和键盘控制,它让程序看起来更美观。我将教大家如何使用键盘来移动场景中的对象,还会教大家在OpenGL场景中应用简单的光照,让我们的程序更加视觉效果更好且受我们控制。原创 2015-08-02 20:30:13 · 6305 阅读 · 2 评论 -
【Qt OpenGL教程】09:在3D空间中移动位图
想知道如何在3D空间中移动物体,想知道如何在屏幕上绘制一个图像,而让图像的背景色变为透明,希望有一个简单的动画。这次教程中将教会你所以的一切。当然,这一课是在前面几课知识的基础上创建的,请确保你已经掌握了前面几课的知识,再进入本课教程。原创 2015-08-03 14:05:58 · 5047 阅读 · 1 评论 -
【Qt OpenGL教程】10:加载3D世界,并在其中漫游
这次教程中,我将教大家如何加载一个3D世界,并在3D世界中漫游。这相较于我们只能创造一个旋转的立方体或一群星星时有很大的进步了,当然这节课代码难度不低,但也不会很难,只要你跟着我慢慢一步一步来。原创 2015-08-03 19:53:20 · 10204 阅读 · 3 评论 -
【Qt OpenGL教程】06:纹理映射
这次教程中,我教会大家如何把纹理映射到立方体的六个面上。学习texture map(纹理映射)有诸多好处。比如说想让一颗导弹飞过屏幕。根据前几课的知识,我们最可行的办法可能是很多个多边形来构建导弹的轮廓并加上有趣的颜色。而使用纹理映射,我们可以使用真实的导弹图像并让它飞过屏幕。你觉得哪个更好看?使用纹理映射的好处还不止是更好看,而且程序的运行会更快。导弹贴图可能只是一个飞过窗口的四边形,而一个导弹却需要成百上千的多边形组成,很明显,纹理映射极大的节省了CPU的时间。原创 2015-08-02 16:26:20 · 7003 阅读 · 3 评论 -
【Qt OpenGL教程】08:混合
这次教程中,我们将在纹理映射的基础上加上混合,使它看起来具有透明的效果,当然解释它不是那么容易但代码并不难,希望你喜欢它。原创 2015-08-03 10:34:18 · 4140 阅读 · 0 评论 -
【Qt OpenGL教程】11:旗帜效果(飘动的纹理)
这次教程中,我将教大家如何创建一个飘动的旗帜。我们所要创建的旗帜,说白了就是一个以正弦波方式运动的纹理映射图像。虽然不会很难,但效果确实很不错,希望大家能喜欢。当然这次教程是基于第06课的,希望大家确保已经掌握了前6课再进入本次教程。原创 2015-08-04 13:25:38 · 6578 阅读 · 0 评论 -
【Qt OpenGL教程】28:贝塞尔曲面
这次教程中,我们将介绍贝塞尔曲面,因此这是关于数学运算的一课(这导致很不好讲),来吧,相信你能搞定它的!这一课中,我们并不是要做一个完整的贝塞尔曲面库(库的话OpenGL已经完成了),而是一个展示概念的程序,来让你熟悉曲面是怎么计算实现的。原创 2015-08-15 18:18:07 · 10633 阅读 · 2 评论