原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11627508.html 前言: 因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我就先把基本的小demo给写好当做前期测试. 在我之前网上的博客都只有读取移动旋转单个3d模型的, 导致我根本查不到有关的资料,只能自己写了. 前人栽树,后人乘凉. 技术就是要分享出来,大家共同进步,我们走过的坑没有必要让后来人再走一次. 有了前面两篇的分部实现,掌握这次的就不难了: OpenGl读取…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11543828.html 最近实习要用到opengl库就是跟opencv 有点像的那个,然后下了一个3D模型的读取显示来研究 现在分享给大家吧  注释基本我都打好了,所以也懒得再写很多解析了,自己看注释吧! 参考博客是这篇:https://blog.csdn.net/ding_programmer/article/details/91049357 本文用到obj 文件的百度云下载是: 链接:h…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11620088.html 前言: 因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我就先实现鼠标控制两个物体移动互不干扰来当踏脚石. 一.鼠标控制函数准备 我们需要对鼠标信息的获取,那么必然需要一个鼠标事件的响应函数来控制,很好opengl已经有内部的鼠标控制函数了,我们直接拿来使用就行了. glutMouseFunc( (void*)Func(int button, int st…
下图是我们要修改后的效果图: 一.深度检测 1.模型Z轴显示有问题: 上一次试验中,如果认真留意,会发现一个问题.当控制锥体在左右或上下旋转时,你会发现锥体看起来是在+-180度之间来回摆动,而不是360度的旋转.锥体的底面总是朝向观察者.这个我们可以通过修改锥体底面的颜色方便观察.如下图: 正如上面的两幅图,在不同的角度看,底面永远都是在最上面.其实这是跟我们前面代码上的画图有关.前面我们的代码是,先画锥体的侧面,再画底面.类似于我们小学画画时一样,最后画的都是把前面画的给覆盖了. 那应该怎样…
在用cesium的过程中难免需要导入别人做好的3D模型,这时候就需要将这些模型转成gltf格式了 当然,官方也给了我们一个网页版的转换器,但是毕竟是网页版的,效率极其低下,文件还不能太大,所以我们就需要一个格式转换器了 现在只支持obj和dae转gltf,我感觉obj比较方便,所以我用的是obj2gltf,这也是官方推荐的一个,用起来很简单,而且效果和效率都不错. 下面说一下过程 首先在cesium目录下安装obj2gltf(如果没有nodejs的就装一个吧,反正又简单官方还推荐) npm in…
Altium制作DC002的PCB封装和3D模型 常用的电源连接器(Dc Power Jack Connector)DC002.DC005等等型号的3D模型在网上很难找到合适的,我们可以选择CUI 公司生产的电源连接器来替代,因为CUI 公司生产的每一款电源连接器都免费提供了公开的3D模型.这我们演示如何在CUI 官网上寻找合适的DC002/DC005的.STEP3D模型. 打开DC002的尺寸图,我们发现GUI公司的PJ-007型号可以替代DC002,他们的尺寸相差无几. 这是PJ-007的尺…
先 先晒几个图:是不是很逼真啊..  ---------------------------------------教程-------------------------------------------------------------------------------------------------------------------------- 我们常用的3D封装可以在这个网站下载.http://www.3dcontentcentral.cn/Search.aspx?arg=0…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11681069.html 一.初始化世界以及模型 /// 冲突配置包含内存的默认设置,冲突设置.高级用户可以创建自己的配置. btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration(); /// 使用默认的冲突调度程序.对于并行处理,您可以使用不同的分派器(参见E…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11783026.html 自己写了个简单的类读取解析obj模型,使用导入类,然后new个对象,在读取obj模型,然后调用显示列表显示就可以了.至于其他什么旋转移动的你们自己加起来应该很容易的,因为我有看过c#下别人写的obj模型解析的代码项目,加了很多东西,我都找不到自己要用的代码在哪里,而我只需要读取解析obj模型这块代码而已,气的我自己写了个类自己解析,所以我怕我代码写多了反而看起来不好理…
在经过查阅各种资料以及各种bug之后,终于成功的实现了导入基本的obj模型. 首相介绍一下什么是obj模型 一.什么是OBJ模型 obj文件实际上是一个文本文档,主要有以下数据,一般可以通过blender软件导出模型的obj文件. 在3d图形处理中,一个模型(model)通常由一个或者多个Mesh(网格)组成,一个Mesh是可绘制的独立实体.例如复杂的人物模型,可以分别划分为头部,四肢等各个部分来建模,这些Mesh组合在一起最终形成人物模型. obj的文本内容一般包括以下数据 usemtl和mt…