【发布时间】:2017-12-12 01:27:29
【问题描述】:
我正在开发包含 Qt3D 视图的软件。 这个 3D 视图允许我们可视化元素。对象的所有渲染部分都在 QML 中使用自定义材质/着色器完成。
我能够创建一种将纹理传递给着色器进行纹理处理的材质。保存纹理的QML对象是Texture2D(它的c++实现是QTexture2D)
我的问题是我找不到动态更改纹理内容的方法。 在软件中,用户可以从光盘加载任何图像。我可以从这个图像正确地创建一个 QImage 实例。
所以问题是: 我在 C++ 中有一个 QImage 实例,我想将它转换为 QTexture2D 实例,以便我可以将它传递给 QML 端。
我该怎么做?
我已经研究了 QAbstractTexture 和 QAbstractTextureImage 类(以及它们的子类),但找不到从 QImage 创建这些类的方法
【问题讨论】: