
c++
文章平均质量分 79
UltimateLove
如果有链接失效请告知,如果有疑问请私信~
展开
-
Visual Studio编译GDAL2.4.4(204)与Geos库,并使用pdb文件
由于接下来的工作要求,需要再次了解GDAL的VS编译方式;这里暂时不考虑GDAL3版本(因为必须整PROJ6和sqlite的库)。GDAL与GEOSGDAL中的空间谓词,一般返回bool型的方法,如intersect,contains;GDAL空间关系,一般返回几何运算结果,如buffer等;二者一般都是由GEOS库去实际运算的;GDAL一般调用GEOS的C接口方法,它封装了GEOS的c++实际的功能实现,方法名长期稳定,不会轻易修改或者Deprecated!环境时间:20210416原创 2021-04-17 16:32:20 · 722 阅读 · 0 评论 -
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 评论 -
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 · 1849 阅读 · 0 评论 -
3ds Max 2014 SDK配置开发环境以及遇到的问题
领导让研究一下Max插件,于是从一个坑立刻跳到另一个坑中!目前SDK已经更新到了2018,真是一年一个版本。。。环境机器:Win7 旗舰 64+SP1 IDE : VS2010(由于使用3ds Max 2014和vs的版本之间有对应关系) Max:3ds Max 2014+3ds Max 2014 SDK由于我预想的开发是使用c++,所以开发环境先主要介绍c++的环境,除此之外,根据帮助文档的介原创 2017-04-21 09:46:02 · 6187 阅读 · 6 评论 -
3ds Max 2014插件安装(插件无效的原因~)
入坑3ds Max插件开发~项目需要,所以埋头研究3ds Max插件开发,上一篇文章费了老劲才找到完整的文档和开发社区~这一次在使用插件向导创建的插件死活不能加载到Max中!~问题描述使用wizard创建的utility插件项目加载生成.dlu文件添加到3ds Max安装路径下的stdplugs文件下之后,在如下路径上查看加载进来的插件:从下图可以看到描述一栏是空的,虽然后面的状态显示已经加载了~这原创 2017-04-25 16:36:38 · 17494 阅读 · 2 评论 -
CMake OSG+VS2013+Qt5.7.0
下载主要是各种库包的下载:1.osg:osgChina下载2.osgChina第三方库下载3.osgChina数据下载4.cmake:自己百度,安装的时候最好自动设置一下全局环境变量(安装过程可以选择)5.Qt:Qt专门下载通道6.vs的Qt插件 qt-vs-addin-1.2.5.exe过程1.先设置路径,下载后osg包的路径与cmake的输出路径,自由选择;2.Confi...原创 2018-11-17 21:01:06 · 831 阅读 · 0 评论 -
编译osgViewerMFC出现错误啦!
编译环境:VS2017 Community系统:win10osg:3.6.3问题:使用默认的第三方库进行编译时,只有osgViewerMFC出现了错误:过程:一顿操作之后感觉自己找到了问题原因就是当前编译的目标平台问题,如果我们按照如下的参数编译实际上是没有问题的;但是osgViewerMFC工程中又默认根据当前的平台加了一个预编译头_WIN32_WINNT = 0x0A00,但...原创 2019-07-28 23:52:51 · 904 阅读 · 0 评论 -
OSG头文件引用不带.h后缀
问题:osg头文件都不带.h后缀,.cpp文件中的引用也是,使用cmake之后生成的工程文件中也是默认引用不带.h后缀的文件,在Visual Studio中看源代码指到头文件之后就进行不下去了,很不方便!!!思考:头文件与.cpp文件都是文本,可以直接c++读进来直接修改文件与引用;src文件夹中的CMakeLists.txt文件中头文件路径也可以加上.h后缀,这样在VS中也会只显示.h的文件...原创 2019-08-14 19:42:37 · 1004 阅读 · 0 评论 -
VS2017编译gdal-2.4.2与geos-3.7.2
GDAL目前最新版本3.0.1,但是编译的时候需要Proj6的库,所以还是选择2.4.2;geos 3.7.2目前是最新版本。IDE:VS2017 Communitygeos库生成过程:运行:autogen.bat,该文件生成一些版本相关头文件使用vs nmake.exe,一般是对应VS版本的x64 Native Tools Command Prompt 2017按照下列步骤运...原创 2019-08-24 15:03:41 · 2570 阅读 · 3 评论 -
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 评论 -
编译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 评论 -
编译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(1)—软件安装与代码下载
最近需要看MeshLab源码,虽然满脸懵逼但是只能硬着头皮上~虽然整过程个过程很痛苦~但是最终迈过了编译这个槛!~网上很多介绍编译的博客或者文章基本上只说了过程,而且很多互相抄袭~或者一带而过,完全不考虑我们初学者的心情,所以下面我会尽量详细,不懂的地方地方可以给我留言,我基本每天都上优快云~QtCreator我不懂,也不习惯~下载只是因为MeshLab必须用到他的链接库文件…参考网上找到的有一定原创 2016-12-09 15:59:47 · 4535 阅读 · 6 评论 -
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 评论 -
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文件——绘制数据
前面的工作做好之后,绘制的代码就没那么麻烦了,但是要注意纹理坐标和面的节点坐标是交替进行的,就是一个纹理坐标,一个节点坐标~否则显示不出来纹理!//渲染模型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文件——多线程加载纹理
在之前的程序中,已经实现了基本的加载,但是大家知道纹理的加载实在太慢了,整个界面都是卡死的状态,所以得想办法实现多线程加载纹理;我的想法是一个线程先将没有纹理的图形读取出来,另一个线程读取纹理,读取出来以后再重绘实现多线程绑定纹理功能~由于OpenGL中不支持直接多线程的操作~所以需要曲线救国~~在博客园里找到了一位兄弟的博客OpenGL多线程创建纹理,经过他的启发,实现了在Qt中的多线程加载纹理,原创 2017-03-31 16:28:45 · 2192 阅读 · 2 评论 -
Qt实现读取显示obj文件——动态绑定纹理与消除纹理
上一篇文章讲到了多线程加载纹理,感觉效果很满意,如果你在后台加载纹理的时候转动模型,已经绑定的纹理将会一个个加上去,视觉上竟然有了动画的感觉~~~需求然后我想看模型的时候,有时候不想要显示纹理怎么办呢?就是存在一个按钮,点击按下则显示纹理,弹起不显示纹理~就像meshlab中那样!问题但是在实现效果时,如果只是简单的重绘中不进行纹理名的绑定,那么纹理其实并没有取消绑定,只是不显示了,然后你重绘出来的原创 2017-04-01 09:19:20 · 2813 阅读 · 2 评论 -
编译MeshLab(2)—VS中引用Lib文件
上一篇编译MeshLab(1)—软件安装与代码下载已经将环境和代码下载下来了,那么接下来就是编译了~作为一个大学没毕业就丢掉了C++的菜鸡,我表示我只有写一行C++代码出现几百个错误的悲惨回忆~C++引用lib文件在VS2010中引用lib文件需要在工程文件的配置中引入,习惯了dll的引用,作为小白的我表示很不方便啊~lib,dll区别 及 VS中如何添加lib,dll在VS中添加lib的第三种原创 2016-12-09 23:48:32 · 1821 阅读 · 2 评论