
QT
UltimateLove
如果有链接失效请告知,如果有疑问请私信~
展开
-
配置Qt调试环境~
尽管可以在VS中开发Qt,但是发现Qt5中的QML语言在VS2010中是不支持的~而且很多开发资料都是基于Qt Creator的~虽然很不熟悉这个IDE的快捷键,但是我还是决定跳到Qt Creator~环境QtCreator:3.5.1 系统;win7 64位 旗舰参考Qt Creater 3.5.1 Windows 下调试官方英文文档用Qt创建了一个新的项目Qt Quick Controls A原创 2016-12-13 10:22:30 · 6817 阅读 · 3 评论 -
Qt实现读取显示obj文件——计算面的单位法向量
计算面的法向量是一个数学过程,相信很多人都已经将这个知识还给老师了!~此处应有一个哭脸~其实主要的原理就是计算两个向量的点积(dot product)(我发誓这个概念真的第一次出现在我人生中~)也就是交叉乘积!~a=[a1,a2,a3] b=[b1,b2,b3] a × b= [a2b3-a3b2,a3b1-a1b3, a1b2-a2b1] 下面是计算面的法向量的方法://计算面的法向量原创 2017-03-16 17:34:00 · 2747 阅读 · 4 评论 -
Qt实现读取显示obj文件——读取数据
前一篇写了关于实现的一些说明Qt实现读取显示obj文件——说明,这一篇说一说数据的读取~说明在头文件中我们建立一个OBJ文件的数据模型类;记录一些模型的结构与之后可能会使用的数据结构;(之后会在Github上上传所有的源码,但是数据不会上传~)class _GLModel{public: QString path;//obj文件路径 QString mtllibName;//材质文原创 2017-03-16 15:57:21 · 13108 阅读 · 21 评论 -
Qt实现读取显示obj文件——说明
年后回来一个多月基本上都在研究OpenGL的东西~由于C++,Qt和三维的基础基本都是0,所以有些吃力,好在在动手写代码将近20天之后总算做出了一点成绩~环境Qt 5.5 +AddIn+VS2013,qt相关下载戳这里,VS2010也可以,不过写c++感觉2013之后好用一些~OpenGL我直接用的系统里面的glu32和opengl32(不懂如何在c++中引用的可以自己稍微花点时间研究一下~搞c++原创 2017-03-16 15:16:22 · 6925 阅读 · 4 评论 -
Qt实现读取显示obj文件——动态绑定纹理与消除纹理
上一篇文章讲到了多线程加载纹理,感觉效果很满意,如果你在后台加载纹理的时候转动模型,已经绑定的纹理将会一个个加上去,视觉上竟然有了动画的感觉~~~需求然后我想看模型的时候,有时候不想要显示纹理怎么办呢?就是存在一个按钮,点击按下则显示纹理,弹起不显示纹理~就像meshlab中那样!问题但是在实现效果时,如果只是简单的重绘中不进行纹理名的绑定,那么纹理其实并没有取消绑定,只是不显示了,然后你重绘出来的原创 2017-04-01 09:19:20 · 2813 阅读 · 2 评论 -
Qt实现读取显示obj文件——多线程加载纹理
在之前的程序中,已经实现了基本的加载,但是大家知道纹理的加载实在太慢了,整个界面都是卡死的状态,所以得想办法实现多线程加载纹理;我的想法是一个线程先将没有纹理的图形读取出来,另一个线程读取纹理,读取出来以后再重绘实现多线程绑定纹理功能~由于OpenGL中不支持直接多线程的操作~所以需要曲线救国~~在博客园里找到了一位兄弟的博客OpenGL多线程创建纹理,经过他的启发,实现了在Qt中的多线程加载纹理,原创 2017-03-31 16:28:45 · 2192 阅读 · 2 评论 -
Qt实现读取显示obj文件——绘制数据
前面的工作做好之后,绘制的代码就没那么麻烦了,但是要注意纹理坐标和面的节点坐标是交替进行的,就是一个纹理坐标,一个节点坐标~否则显示不出来纹理!//渲染模型void _glDraw(_GLModel* model, size_t mode){ if (mode & _GL_FLAT && model->list_FaceNormal.size() == 0) {原创 2017-03-17 15:49:41 · 4713 阅读 · 5 评论 -
Qt实现读取显示obj文件——归一化坐标
归一化坐标的最大用处就是将节点坐标转换在-1~1的范围内,从而可以显示在我们的视线范围内!~总体的思路就是找出节点中最大值作为基数,然后平移,缩放!//将图形移到屏幕中间来float _glUnitize(_GLModel* model){ float maxx, minx, maxy, miny, maxz, minz; float cx, cy, cz, w, h, d;原创 2017-03-17 15:42:37 · 2446 阅读 · 0 评论 -
Qt实现读取显示obj文件——创建并绑定纹理
之前在读取数据的时候,Qt实现读取显示obj文件——读取数据,已经读取纹理,也就是png格式的文件到model的集合中去了,我们需要根据图片创建我们的纹理:for (int i = 0; i < model->list_ImagePath.length(); i++) { glEnable(GL_TEXTURE_2D); GLint MaxTextureSiz原创 2017-03-17 15:36:06 · 4386 阅读 · 0 评论 -
编译MeshLab(1)—软件安装与代码下载
最近需要看MeshLab源码,虽然满脸懵逼但是只能硬着头皮上~虽然整过程个过程很痛苦~但是最终迈过了编译这个槛!~网上很多介绍编译的博客或者文章基本上只说了过程,而且很多互相抄袭~或者一带而过,完全不考虑我们初学者的心情,所以下面我会尽量详细,不懂的地方地方可以给我留言,我基本每天都上优快云~QtCreator我不懂,也不习惯~下载只是因为MeshLab必须用到他的链接库文件…参考网上找到的有一定原创 2016-12-09 15:59:47 · 4535 阅读 · 6 评论 -
编译MeshLab(3)—VS2010编译MeshLab源码之编译meshlab_mini.pro
有了前面的基础编译MeshLab(1)—软件安装与代码下载编译MeshLab(2)—VS中引用Lib文件下面我们开始编译源码!编译external编译的第一步是将外部相关的库文件进行编译: 打开VS2010,如下图操作选择...\meshlab\src\external路径下的external.pro文件!(出现提醒点yes好,no也行,看心情~)打开后直接生成解决方案,不需要任何配置,原创 2016-12-11 11:35:45 · 2351 阅读 · 6 评论 -
编译MeshLab(4)—VS2010编译MeshLab源码之编译meshlab_full.pro
编译meshlab_full.pro文件还是同样的操作,但是由于该项目的工程文件太多,我们需要批量操作~第一个common不选,选中第二个工程文件,按住Shift按键,拖动到最后的工程文件,右键选择属性,这样我们就可以批量改变属性了!~注意不要将<不同选项>删除了~编译filter_csg编译完了之后,发现又出现了错误,前面的无法打开文件common.lib先不用管~定位到错误3445,这个错误是说原创 2016-12-11 15:10:54 · 2887 阅读 · 1 评论 -
vs2013编译osg3.4.0(包括osgQt)
前一篇文章写了CMake,这一篇文章继续编译,这里只介绍我编译过程中出现的问题以及解决办法介绍。1.设置ALL_BUILD批生成:生成——》批生成,将Debug与Release模式勾选上,选择生成;这个过程如果成功将近3个小时!可惜进行到一半还是出现了错误,这个文件实在unix系统才会需要的:解决办法就是在VS2013的安装目录下:…/VS/include下添加unistd.h文件...原创 2018-11-18 15:04:03 · 1327 阅读 · 2 评论