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. SVG background watermark

    SVG background watermark SVG 背景水印 <svg xmlns="http://www.w3.org/2000/svg" width="2 ...

  2. Github access token

    Github access token https://github.com/settings/tokens https://docs.github.com/en/free-pro-team@late ...

  3. HTML5 dataset All In One

    HTML5 dataset All In One dataset https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignEleme ...

  4. toString()[0]

    toString()[0] https://prepack.io/ x = `A` //"A" x.toString()[0] //"A" x.toString ...

  5. YAML & .yml

    YAML & .yml YAML: YAML Ain't Markup Language https://yaml.org/ https://github.com/yaml/www.yaml. ...

  6. css var & auto width css triangle

    css var & auto width css triangle https://codepen.io/xgqfrms/pen/PooeEbd css var https://codepen ...

  7. epoll原理详解及epoll反应堆模型

    本文转载自epoll原理详解及epoll反应堆模型 导语 设想一个场景:有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收TCP包),也就是说在每一时刻 ...

  8. HarmonyOS三方件开发指南(13)-SwipeLayout侧滑删除

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1. SwipeLayout组件功能介绍2. SwipeLayout使用方法3. SwipeLa ...

  9. 微信小程序:快速新增页面和组件的方法

    一.快速新增页面的方法: 1.在vscode中的app.json文件中的pages数组的第一行新增一个路径,如: 2.在微信开发者工具中的app.json中的新增一个空格,然后保存,就会生成一个新的页 ...

  10. MYSQL 悲观锁和乐观锁简单介绍及实现

    1:悲观锁 1.1 特点: 每次查询都会进行锁行,怕"其他人"进行数据的修改. 1.2 实现步骤: 步骤1:开启事务test1,并对id=2的记录进行查询,并加锁,如:   步骤2 ...