【问题标题】:How do I draw a mesh loaded from .obj(wavefront) file in qt3d by reading file myself?如何通过自己读取文件来绘制从 qt3d 中的 .obj(wavefront) 文件加载的网格?
【发布时间】:2020-08-14 19:43:32
【问题描述】:

用于从 Qt3D 中的 .obj 文件加载线框网格的示例代码(随 Qt 创建器工具提供)绘制了这只大象(我在一个兜售数字资产的网站上发现)。 问题是我想使用自己的代码打开 .obj 文件并形成几何图形。我有代码可以打开 .obj 文件并形成三角形。我只想知道如何编写 C++ 部分来填充几何图形。

就像我想知道如何构造 C++ 代码。

Here 是我必须读取 obj 文件的代码。

【问题讨论】:

    标签: qt qml .obj qt3d


    【解决方案1】:

    对于那些想知道同样事情的人来说,我发现了一个 github 存储库,它通过读取 OBJ 模型并在 Qt3D 上下文中渲染它来在 C++ 中创建几何图形。

    如果你仔细想想,这是一个简单的过程。

    首先你需要创建一个基于 Qt3DRender::QGeometry 的对象。

    class ModelGeometry : public Qt3DRender::QGeometry
    {
    public:
    ModelGeometry(){
    
    }
    

    然后你需要使用它添加点、三角形和法线等属性

    auto attribute = new Qt3DRender::QAttribute(parent);
    

    然后将属性添加到几何体中。

    整个过程在此处的 repo 中进行了说明:https://github.com/bmkamath2000/Qt3DExamples

    使用包含大象的示例 OBJ 文件运行此 repo 后,我已按预期绘制:

    非常感谢!!!

    【讨论】:

      猜你喜欢
      • 2016-08-27
      • 1970-01-01
      • 2012-07-14
      • 2023-03-27
      • 2019-10-18
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多