QQuick3DRenderExtension Class
用于实现用户端渲染扩展的抽象类。更多内容...
| Header: | #include <QQuick3DRenderExtension> |
| Since: | Qt 6.7 |
| In QML: | RenderExtension |
| Inherits: | QQuick3DObject |
| Inherited By: |
重新实现的公共函数
| virtual QSSGRenderGraphObject * | updateSpatialNode(QSSGRenderGraphObject *node) override |
详细描述
这是渲染扩展的前端部分。 后端部分在QSSGRenderExtension 中实现。QQuick3DRenderExtension类用于创建自定义渲染扩展,通过将其添加到View3D 所用的扩展列表中,即可在QtQuick3D 场景图中使用该扩展。随后,该扩展代码将作为QtQuick3D 渲染管道执行的一部分被运行。
QQuick3DRenderExtension 类是一个抽象类,应通过继承其子类并将其暴露给 QML 来使用。子类应实现QQuick3DRenderExtension::updateSpatialNode() 函数,并返回一个包含待执行代码的QSSGRenderExtension 实例。
另请参阅 QSSGRenderExtension 。
成员函数文档
[override virtual] QSSGRenderGraphObject *QQuick3DRenderExtension::updateSpatialNode(QSSGRenderGraphObject *node)
当创建一个项或请求更新(通常是由于该项的属性发生变化)时,该函数会在QtQuick3D 场景图的同步过程中被调用。该函数应返回一个QSSGRenderExtension 实例,其中包含应在QtQuick3D 的渲染管道执行期间运行的代码。
node 参数是该函数之前返回的QSSGRenderExtension 实例;若为首次调用该函数,则该参数为 null。该函数可返回相同的实例、不同的实例或 null。若函数返回 null,则该扩展将从渲染管道中移除。
注意: QSSGRenderExtension 实例是一个 资源对象,并将由QtQuick3D 场景图拥有。如果返回的是另一个实例或null,则先前实例将被渲染器排入删除队列。
另请参阅 QSSGRenderExtension 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.