Qt3D使用assimp加载三维模型文件,assimp支持很多常规格式的三维模型格式:

其中支持导入的格式有:
  • 3D
  • 3DS
  • 3MF
  • AC
  • AC3D
  • ACC
  • AMJ
  • ASE
  • ASK
  • B3D
  • BLEND
  • BVH
  • CMS
  • COB
  • DAE/Collada
  • DXF
  • ENFF
  • FBX
  • glTF 1.0 + GLB
  • glTF 2.0: 目前,对于glTF2.0,支持以下扩展:
    • KHR_lights_punctual ( 5.0 )
    • KHR_materials_pbrSpecularGlossiness ( 5.0 )
    • KHR_materials_unlit ( 5.0 )
    • KHR_texture_transform ( 5.1 under test )
  • HMB
  • IFC-STEP
  • IRR / IRRMESH
  • LWO
  • LWS
  • LXO
  • M3D
  • MD2
  • MD3
  • MD5
  • MDC
  • MDL
  • MESH / MESH.XML
  • MOT
  • MS3D
  • NDO
  • NFF
  • OBJ
  • OFF
  • OGEX
  • PLY
  • PMX
  • PRJ
  • Q3O
  • Q3S
  • RAW
  • SCN
  • SIB
  • SMD
  • STP
  • STL
  • TER
  • UC
  • VTA
  • X
  • X3D
  • XGL
  • ZGL
此外,某些格式受非自由代码或外部SDK(默认情况下未构建)的依赖而支持:
支持导出的格式有:
  • DAE (Collada)
  • STL
  • OBJ
  • PLY
  • X
  • 3DS
  • JSON (供 WebGl使用, 通过 https://github.com/acgessler/assimp2json)
  • ASSBIN
  • STEP
  • glTF 1.0 (部分支持)
  • glTF 2.0 (部分支持)
  • 3MF ( 实验阶段 )
  • FBX ( 实验阶段 )

Qt3D导入三维模型代码:

Qt3DRender::QSceneLoader* loader = new Qt3DRender::QSceneLoader(rootEntity);
QObject::connect(loader, &Qt3DRender::QSceneLoader::statusChanged,
this, [](Qt3DRender::QSceneLoader::Status s) {qDebug() << s;});
QUrl url = QUrl::fromLocalFile(file);
loader->setSource(url);
rootEntity->addComponent(loader);

虽然assimp实现了主要的模型格式解析,但是Qt3D也封装了不少细节,开发起来十分方便.

Qt3D使用assimp加载常规模型文件的更多相关文章

  1. xBIM 实战01 在浏览器中加载IFC模型文件

    系列目录    [已更新最新开发文章,点击查看详细]  一.创建Web项目 打开VS,新建Web项目,选择 .NET Framework 4.5  选择一个空的项目 新建完成后,项目结构如下: 二.添 ...

  2. xBIM 实战02 在浏览器中加载IFC模型文件并设置特效

    系列目录    [已更新最新开发文章,点击查看详细]  在模型浏览器中加载模型后,可以对模型做一些特殊操作.下图是常用的设置. 都是通过 xbim-viewer.js 中的 API 来设置以达到一定的 ...

  3. 机器学习之保存与加载.pickle模型文件

    import pickle from sklearn.externals import joblib from sklearn.svm import SVC from sklearn import d ...

  4. tensorflow c++ API加载.pb模型文件并预测图片

    tensorflow  python创建模型,训练模型,得到.pb模型文件后,用c++ api进行预测 #include <iostream> #include <map> # ...

  5. 使用 Assimp 库加载 3D 模型

    前言 要想让自己的 3D 之旅多一点乐趣,肯定得想办法找一些有意思一点的 3D 模型.3D 模型有各种各样的格式,obj的,stl的,fbx的等等不一而足.特别是 obj 格式的 3D 模型,完全是纯 ...

  6. iOS边练边学--plist文件,懒加载,模型初使用--补充instancetype

    一.什么是plist文件 1>将数据直接写在代码里面,不是一种合理的做法.如果数据经常修改,就要经常翻开对应的代码进行修改,造成代码扩展性低 2>因此,可以考虑将经常变得数据放在文件中进行 ...

  7. CSharpGL(50)使用Assimp加载骨骼动画

    CSharpGL(50)使用Assimp加载骨骼动画 在(http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html)介绍了C++用Asism ...

  8. 6_1 持久化模型与再次加载_探讨(1)_三种持久化模型加载方式以及import_meta_graph方式加载持久化模型会存在的变量管理命名混淆的问题

    笔者提交到gitHub上的问题描述地址是:https://github.com/tensorflow/tensorflow/issues/20140 三种持久化模型加载方式的一个小结论 加载持久化模型 ...

  9. 开园第一篇---有关tensorflow加载不同模型的问题

    写在前面 今天刚刚开通博客,主要想法跟之前某位博主说的一样,希望通过博客园把每天努力的点滴记录下来,也算一种坚持的动力.我是小白一枚,有啥问题欢迎各位大神指教,鞠躬~~ 换了新工作,目前手头是OCR项 ...

随机推荐

  1. 全局ID生成--雪花算法

    分布式ID常见生成策略: 分布式ID生成策略常见的有如下几种: 数据库自增ID. UUID生成. Redis的原子自增方式. 数据库水平拆分,设置初始值和相同的自增步长. 批量申请自增ID. 雪花算法 ...

  2. HDU 6706 huntian oy(杜教筛 + 一些定理)题解

    题意: 已知\(f(n,a,b)=\sum_{i=1}^n\sum_{j=1}^igcd(i^a-j^a,i^b-j^b)[gcd(i,j)=1]\mod 1e9+7\),\(n\leq1e9\),且 ...

  3. 常用SQL语句1-增删改查

    一.名词解释 RDBMS 即关系数据库管理系统(Relational Database Management System)的特点: 1.数据以表格的形式出现 2.每行为各种记录名称 3.每列为记录名 ...

  4. Linux 驱动框架---模块参数

    Linux 模块的参数 通过在内核模块中定义模块参数从而可以在安装模块时通过insmod module_name paramname=param形式给模块传递参数.如果安装模块是传参数则将使用模块内定 ...

  5. Set DSL in Ubuntu 18.04

    Reference Solutions: Ctrl+Atl+t Type nmcli con edit type pppoe con-name ANY_NAME_OF_DSL_YOU_LIKE, wh ...

  6. Linux cp command All In One

    Linux cp command All In One $ man cp $ cp -h # 强制 $ cp -f # 递归,复制文件夹 $ cp -r demos cp -fr # ./folder ...

  7. scroll tabs

    scroll tabs https://github.com/NervJS/taro-ui/blob/dev/src/components/tabs/index.tsx https://github. ...

  8. Xpath in JavaScript

    test html <p>title</p> <ul class="list a" id="list"> <li> ...

  9. NGK和USDN的应用

    一.NGK和USDN的发展方向 目前区块链将会朝着两个方向去发展,第一种是金融经济的衍生品,第二种是商业应用,快速支付的货币体系,NGK.IO公链是基于分布式应用设计的商用金融区块链操作系统,通过数字 ...

  10. CURTIS SAVANAH:数字经济=智能基础设施+海量数据+新生业态

    前不久,Datahero Inc公司(公司编号:20141166945)创始人CURTIS SAVANAH在会议上表示,要构建数字经济的愿景,需要智能基础设施.海量数据和全新新生业态. 他在演讲中说到 ...