QML 加载并显示具有颜色属性的 .ply 网格

2023-12-03

我正在尝试使用 QML 从斯坦福 PLY 文件加载一个带有每个顶点颜色信息的简单立方体。

我的实体看起来像这样:

Entity
{
    id: circle

    property Material materialPoint: Material {
        effect: Effect {
            techniques: Technique {
                renderPasses: RenderPass {
                    shaderProgram: ShaderProgram {
                        vertexShaderCode: loadSource("qrc:/imports/org/aid/shared/geometry/shaders/point.vert")
                        fragmentShaderCode: loadSource("qrc:/imports/org/aid/shared/geometry/shaders/point.frag")
                    }
                }
            }
        }
        parameters: Parameter { name: "pointSize"; value: 2 }
    }

    property alias translation: circleTransform.translation
    property alias rotation : circleTransform.rotationZ


    Mesh
    {
        id: circleMesh
        source: "qrc:/resources/models/rg.ply"
    }

    Transform
    {
        id: circleTransform
        scale : 1
    }


    components:
        [materialPoint, circleTransform, circleMesh]
}

我还尝试用专门创建的默认 Qt 材质替换材质属性来解决此问题:property Material materialPoint: PerVertexColorMaterial {}。 不幸的是,场景中没有可见的每顶点颜色。

有没有推荐的方法在 QML 中导入带有顶点颜色数据的 PLY 文件? (我想,如果用 C++ 编写逻辑并为此创建一个专门的 QML 实体,就可以实现这一目标,但该功能应该已经可用)。


正如您所注意到的,在 Qt3D 中加载 PLY 不包括颜色。恐怕与目前的 Qt3D 课程持平。

您可以:

构建并加载Qt Assimp 场景解析器插件它支持 PLY 中的颜色属性,或者:

用 C++ 编写您自己的 Qt3D 几何加载器。当需要加载每个顶点带有额外数据的自定义 OBJ 模型时,我做了类似的事情。加载器代码使用起来非常简单,您只需修改它即可读取额外的数据,并且您可以修改 Qt3D 本身中的代码,或者创建一个插件并将其加载到您的应用程序中以使其工作。

注:是not创建专门的 QML 实体是必要的。加载程序将读取您的文件QMesh.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QML 加载并显示具有颜色属性的 .ply 网格 的相关文章

  • 退出 Qt 程序的正确方法?

    我应该如何退出 Qt 程序 例如在加载数据文件时 发现文件损坏 并且用户需要退出该应用程序或重新启动数据文件 我是不是该 call exit EXIT FAILURE call QApplication quit call QCoreApp
  • Qt 布局,在小部件大小更改后调整到最小大小

    基本上我有一个QGridLayout里面有一些小部件 最重要的是 2 个标签 我用它们将图像绘制到屏幕上 好吧 如果用户愿意 他可以更改传入图像的分辨率 从而强制标签调整大小 我们假设标签的初始大小是320x240 用户将 VideoMod
  • 如何使QTableView类的restoreState()和saveState()正常工作?

    首先 我想说 我的问题已经在这里讨论过 并且这里是 https stackoverflow com questions 1163030 qt qtableview and horizontalheader restorestate 但答案并
  • 在球体边缘绘制点

    因此 来自 Flash 背景的我对一些简单的 2D 三角函数有很好的理解 在带有 I 圆的二维中 我知道使用给定角度和半径将项目放置在边缘上的数学 x cos a r y sin a r 现在 如果我在 3d 空间中有一个点 我知道球体的半
  • 使用文件 API 将资源加载到 Three.js 中

    我想创建导入 3D 模型以在浏览器中查看的功能 方法是使用File API http www html5rocks com en tutorials file dndfiles Three js 加载器在我托管的文件上运行良好 我的理解是加
  • 如何使用meta-toolchain-qt5构建Qt(带有QtWebEngine支持)?

    我正在尝试使用构建 Qtmeta toolchain qt5 但是当我通过这样做时poky glibc x86 64 meta toolchain qt5 cortexa7hf vfp vfpv4 neon toolchain 2 0 1
  • 如何在 QtQuick 2 中对 QML TableView 进行排序?

    我想使用 Qt 5 1 实现具有自定义角色的可排序 TableView 但我不知道当用户单击标题时该怎么做才能对其进行排序 在我的 Qt pro 文件中 我添加了 android ios blackberry qtHaveModule wi
  • QSerialPort 中的 readAll() 不包括最后发送的响应

    我正在使用 Qt 来控制串行设备 如果我向串行设备发送命令 我会执行类似的操作serial gt write command r n 我制作了一个按钮 它将纯文本小部件内的文本更改为串行端口的响应 为了获得串口的响应 我使用serial g
  • 在高 dpi Windows 平台上自动重新缩放应用程序?

    我正在编写一个需要在高 dpi Windows 192dpi 而不是 96dpi 上运行的 Qt 应用程序 不幸的是 Qt 框架尚不支持高 dpi 至少在 Windows 上 因此我的应用程序及其所有元素看起来只有应有尺寸的一半 有没有办法
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • Qt - 获取互联网上托管的网页的源代码(HTML 代码)

    我想获取网页的源代码 HTML 例如StackOverflow的主页 这是我到目前为止编写的代码 QNetworkAccessManager manager QNetworkReply response manager get QNetwo
  • 如何向同一个 QMenu 添加多个 QAction?

    我正在尝试实现 Qt 菜单自定义 并且我提供了一个功能来添加相同的功能QAction在同一个人民币上下文菜单中多次 但是当我尝试这样做时 myMenu gt addAction myAction myMenu gt addAction my
  • 图形界面相互叠加

    我有一个主程序窗口frame https i stack imgur com xQPfo png and a menu https i stack imgur com rCYEU png用于调用计算模块 from tkinter impor
  • 如何仅剪切剪切平面的交集(而不是并集)?

    在 OpenGL JOGL 中 当使用多个剪切平面时 似乎会应用所有剪切平面的并集 我想要的是路口要应用的所有剪裁平面 这可能吗 请参阅下面的简化二维示例 Edit An example of clipping by vertex shad
  • 关闭 Löve2D 中的抗锯齿功能

    我在用着L ve2D http love2d org用于编写一个小游戏 L ve2D 是 Lua 的开源游戏引擎 我遇到的问题是 当您在非整数位置绘制精灵时 某些抗锯齿过滤器会自动应用于精灵 love graphics draw sprit
  • 将签名位图转换为签名字符串(很奇怪的一个)

    基本上我需要将位图图像转换为字符串 但这不是常见的 困境在于该字符串由两部分组成 1 积分 2 线路 我需要将图像转换为由 分隔的两个部分 我得到的一个例子是 221A 221A270A270A25032503200720071716171
  • Qt 安装程序框架 - 如何在卸载时仅删除某些文件和文件夹

    我使用 Qt 安装程序框架 如何确保在卸载时仅删除某些文件或文件夹 而不是像当前那样删除安装文件夹中的所有文件 先感谢您 您可以覆盖默认行为component createOperations对于卸载程序 然后使用手动指定每个卸载路径com
  • 在 RGL 中将立方体绘制到 3D 散点图中

    我正在尝试向 3D 散点图添加较小的立方体 网格 具有指定边长 我希望立方体位于原点 我该怎么做呢 我已经玩过cube3d 但我似乎无法将立方体正确定位 也无法使其成为网格 因此我可以看到它包含的数据点 这是我所拥有的 library rg
  • 如何在 SVG 元素上使用箭头标记?

    我需要在 d3 js 中创建一个箭头 但我找到的只是带有节点图的示例 我需要的是简单地制作一个从 A 点到 B 点的箭头 我尝试实现以下示例中的部分代码 http bl ocks org 1153292 http bl ocks org 1
  • 使用 PyQt 和 matplotlib 在可滚动小部件中显示多个绘图

    由于我没有得到答案this https stackoverflow com questions 12179893 creating a scrollable multiplot with pythons pylab我尝试用 PyQt 解决这

随机推荐

  • jQuery - 以编程方式触发事件

    我需要以编程方式触发由 jQuery 处理的单击事件 这是当前的代码 var thumbs PhotoGalleryThumbs tile var zoom PhotoGallery PhotoGalleryZoom img var des
  • 动态 jQuery 使用基于元素的 AddMethod 验证错误消息

    假设我有一个自定义的 jQuery Validate AddMethod 如下所示 validator addMethod min length function val element do stuff the error message
  • 从 SQL 错误消息 547 获取特定信息

    如何从 547 号 SQL 错误消息中正确提取特定信息 所需信息 表名 约束名称 列名 Code Try Catch ex As System Data SqlClient SqlException If ex Number 547 The
  • PyQt:keyPressEvent 和 keyReleaseEvent - 按住不反弹

    我想实施一个QDialog 其中按下某个键一段时间 秒 然后释放 我尝试这样做keyPressEvent and keyReleaseEvent功能 我遇到的问题是 当按下一个键时 防抖 keyReleaseEvent 发生得非常快 这在我
  • 在javascript中拖动光标?

    我需要在某些地方设置拖动光标 但我看不到这里列出的http www w3schools com cssref pr class cursor asp 就我而言 当我拖动一些图像时它会出现 http s2 subirimagenes com
  • XSD to Java,指定使用Java HashMap

    我正在尝试从 XSD 模式生成一些 Java 类 我确切地知道我想用 Java 生成什么 并且我正在尝试编写相应的 XSD 模式 我需要表示一个java util HashMap HashMap 我找不到如何在 XSD 架构 或 xjb 绑
  • 我无法显示我的字体很棒的图标。尝试使用多种方法导入css

    我正在使用 HTML 模板构建一个网站组合 我对 css 没有太多经验 但是在我的 django 项目中将 font awesome css 文件作为链接和文件导入后 图标显示为小框 我知道 css 文件正在被识别 因为当我将其注释掉时 这
  • Matplotlib 投影去除边距

    这是一张美国县的图像 创建于 ax plt axes projection ccrs LambertConformal ax set extent 120 70 20 50 ccrs Geodetic 在 实时 图中可以看到plt show
  • 如何获取 django ORM 中某个字段的所有值?

    我有一张桌子叫user info 我想获取所有用户的姓名 所以表中有一个字段叫做name 所以在 sql 中我做了类似的事情 SELECT distinct name from user info 但我不知道如何在 django 中做同样的
  • 如何从服务访问应用程序参数?

    从我的控制器中 我访问应用程序参数 位于 app config with this gt container gt getParameter my param 但我不知道如何从服务访问它 我想我的服务类不应该扩展Symfony Bundle
  • 在 MacOS 中生成 .Net Core Soap Webservices 代理

    我看过一个 C 教程 其中讲师使用以下命令生成代理 添加参考 但他使用的是Windows电脑 我正在使用 Mac 并且正在努力使用相同的方法生成 Web 服务的代理 它使用以下命令生成文件 系统 Web 服务 Net Core 中不存在的包
  • 如何在 Blazor 中创建良好的自定义 DropDownList / ComboBox 项?

    我想在我的 Blazor Server App 上使用多个 ComboBox Styled Items 我的工作代码如下所示 page dropdownlist h3 DropDownList ComboBox h3
  • 在 C 中动态初始化字符串数组

    我知道我可以这样初始化字符串数组 static const char BIN ELEMENTS 5 0000 0 0 0001 0 1 0010 0 2 0011 0 3 0100 0 4 但我需要以动态的方式实现这一点 从文件中读取字符
  • 每年熊猫高效分组季节

    我有一个多年时间序列 想要确定 95 的数据所在的界限 我想按一年中的季节 DJF MAM JJA SON 查看此内容 我尝试过以下操作 import pandas as pd import numpy as np FRAC 2 TAIL
  • Android WebView 硬件加速键盘故障

    当 WebView 进行硬件加速时 单击输入字段会导致键盘出现 并且 html 会重新绘制 移动并复制一段时间 1 当软键盘出现时 WebView 将其内容平移到左下角 然后再次平移到正常位置 导致短暂的可见重复 2 更改键盘时 例如 ab
  • 在delphi中获取互联网时间

    我想从互联网获取时间和日期 我用了下面的代码 IdDayTime1 ReadTimeout 5000 IdDayTime1 Host www time windows com IdDayTime1 Port 37 Label1 Captio
  • 指向任意类型(或任何其他模板类)的 std::vector 的指针

    假设我想要一个指向 std vector 的指针的成员变量 但我不想指定它存储的变量类型 我只想访问那些独立于其实际泛型类型的函数 这可以用c 实现吗 像这样的东西 class Foo public void setVec std vect
  • 我应该从 main() 返回 EXIT_SUCCESS 还是 0?

    这是一个简单的问题 但我不断看到相互矛盾的答案 C 程序的主例程是否应该返回0 or EXIT SUCCESS include
  • 如果订单中的产品属于 WooCommerce 中的某个类别,如何自动创建帐户

    我有一家 WooCommerce 商店 顾客以客人身份结账 我现在想出售一些虚拟产品 在这种情况下我想自动创建一个帐户 所以我有两个工作代码片段 用于检查购物车中的产品是否属于特定类别 在线 一种是从客人结账时自动创建帐户 但我不知道如何将
  • QML 加载并显示具有颜色属性的 .ply 网格

    我正在尝试使用 QML 从斯坦福 PLY 文件加载一个带有每个顶点颜色信息的简单立方体 我的实体看起来像这样 Entity id circle property Material materialPoint Material effect