opengl
UltimateLove
如果有链接失效请告知,如果有疑问请私信~
展开
-
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 · 4303 阅读 · 0 评论 -
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 · 2364 阅读 · 0 评论 -
Qt实现读取显示obj文件——绘制数据
前面的工作做好之后,绘制的代码就没那么麻烦了,但是要注意纹理坐标和面的节点坐标是交替进行的,就是一个纹理坐标,一个节点坐标~否则显示不出来纹理!//渲染模型void _glDraw(_GLModel* model, size_t mode){ if (mode & _GL_FLAT && model->list_FaceNormal.size() == 0) {原创 2017-03-17 15:49:41 · 4643 阅读 · 5 评论 -
Qt实现读取显示obj文件——多线程加载纹理
在之前的程序中,已经实现了基本的加载,但是大家知道纹理的加载实在太慢了,整个界面都是卡死的状态,所以得想办法实现多线程加载纹理;我的想法是一个线程先将没有纹理的图形读取出来,另一个线程读取纹理,读取出来以后再重绘实现多线程绑定纹理功能~由于OpenGL中不支持直接多线程的操作~所以需要曲线救国~~在博客园里找到了一位兄弟的博客OpenGL多线程创建纹理,经过他的启发,实现了在Qt中的多线程加载纹理,原创 2017-03-31 16:28:45 · 2126 阅读 · 2 评论 -
Qt实现读取显示obj文件——动态绑定纹理与消除纹理
上一篇文章讲到了多线程加载纹理,感觉效果很满意,如果你在后台加载纹理的时候转动模型,已经绑定的纹理将会一个个加上去,视觉上竟然有了动画的感觉~~~需求然后我想看模型的时候,有时候不想要显示纹理怎么办呢?就是存在一个按钮,点击按下则显示纹理,弹起不显示纹理~就像meshlab中那样!问题但是在实现效果时,如果只是简单的重绘中不进行纹理名的绑定,那么纹理其实并没有取消绑定,只是不显示了,然后你重绘出来的原创 2017-04-01 09:19:20 · 2750 阅读 · 2 评论 -
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 · 6815 阅读 · 4 评论 -
Qt实现读取显示obj文件——读取数据
前一篇写了关于实现的一些说明Qt实现读取显示obj文件——说明,这一篇说一说数据的读取~说明在头文件中我们建立一个OBJ文件的数据模型类;记录一些模型的结构与之后可能会使用的数据结构;(之后会在Github上上传所有的源码,但是数据不会上传~)class _GLModel{public: QString path;//obj文件路径 QString mtllibName;//材质文原创 2017-03-16 15:57:21 · 12801 阅读 · 21 评论 -
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 · 2671 阅读 · 4 评论 -
error LNK2019 : 无法解析的外部符号 __imp____glutInitWithExit@12... ...
本来尝试使用VS2017的,奈何c++在17中貌似改变了很多,不方便和之前的库一起使用,只好暂时放弃;转而使用VS2013… …下载安装配置freeglut3.0很顺利,毕竟已经被坑过很多次了;在编译的时候遇到了如下如题问题:切换成windows内置的3.7版本的glut是没有问题的,在搜索后发现了解决方案:在文件头加上#ifndef GLUT_DISABLE_ATEXIT_HACK #defi原创 2017-04-13 10:33:44 · 1803 阅读 · 0 评论