このページでは

QQuick3DRenderExtension Class

ユーザーサイドのレンダリング拡張機能を実装するための抽象クラス。詳細...

Header: #include <QQuick3DRenderExtension>
Since: Qt 6.7
In QML: RenderExtension
Inherits: QQuick3DObject
Inherited By:

QQuick3DTextureProviderExtension

再実装されたパブリック関数

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 のシーングラフの同期中に、アイテムが作成されたとき、または(通常はアイテムのプロパティの変更の結果として)更新が要求されたときに呼び出されます。この関数は、QtQuick3D のレンダリングパイプラインの実行中に実行されるべきコードを含むQSSGRenderExtension インスタンスを返す必要があります。

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.