このページでは

QQuick3DTextureProviderExtension Class

ユーザー側のテクスチャプロバイダ拡張機能を実装するための抽象クラス。詳細...

Header: #include <QQuick3DTextureProviderExtension>
Since: Qt 6.11
In QML: TextureProviderExtension
Inherits: QQuick3DRenderExtension

パブリック型

enum class SamplerHint { Sampler2D, Sampler2DArray, Sampler3D, SamplerCube, SamplerCubeArray, SamplerBuffer }

プロパティ

パブリック関数

QQuick3DTextureProviderExtension::SamplerHint samplerHint() const
void setSamplerHint(QQuick3DTextureProviderExtension::SamplerHint newSamplerHint)

シグナル

void samplerHintChanged()
(since 6.12) void surfaceChanged()

再実装された保護関数

virtual QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node) override

詳細な説明

これは、テクスチャプロバイダ拡張機能のフロントエンド側です。バックエンド側は、QSSGRenderExtension で実装されています。QQuick3DTextureProviderExtensionは、QQuick3DRenderExtension クラスの特化型であり、提供されるテクスチャのタイプに関する追加のメタデータを提供できるだけでなく、QtQuick3D シーングラフに拡張機能を自動的に登録することもできる、カスタムテクスチャプロバイダ拡張機能を作成するために使用されます。 つまり、View3D で使用される拡張機能のリストに手動でこの拡張機能を追加する必要はなく、TextureコンポーネントのtextureProviderプロパティを使用するだけで、必要なときに拡張機能のコードが実行されるようになります。

QQuick3DTextureProviderExtensionクラスは、サブクラス化してQMLから利用できるようにすべき抽象クラスです。サブクラスはQQuick3DRenderExtension::updateSpatialNode()関数を実装し、実行すべきコードを含むQSSGRenderExtension インスタンスを返す必要があります。

QSSGRenderExtensionも参照してください 。

メンバ型のドキュメント

enum class QQuick3DTextureProviderExtension::SamplerHint

この拡張機能によって提供されるテクスチャのタイプに関するヒントを指定します。

定数値説明
QQuick3DTextureProviderExtension::SamplerHint::Sampler2D02Dテクスチャ
QQuick3DTextureProviderExtension::SamplerHint::Sampler2DArray1配列テクスチャ
QQuick3DTextureProviderExtension::SamplerHint::Sampler3D23Dテクスチャ
QQuick3DTextureProviderExtension::SamplerHint::SamplerCube3キューブマップテクスチャ
QQuick3DTextureProviderExtension::SamplerHint::SamplerCubeArray4キューブマップテクスチャの配列
QQuick3DTextureProviderExtension::SamplerHint::SamplerBuffer5バッファテクスチャ

プロパティのドキュメント

[since 6.11] samplerHint : SamplerHint

このプロパティには、拡張機能によって提供されるテクスチャのタイプに関するヒントが含まれています。テクスチャデータは必要な時点になるまで提供されないため、これは必要な処理ですが、Texture コンポーネントを使用するマテリアルは、どのようなタイプのサンプラーを提供すべきかを知る必要があります。

デフォルト値は `QQuick3DTextureProviderExtension::Sampler2D` です。

注:この プロパティは、CustomMaterials を使用する場合にのみ使用されます。

この列挙型は Qt 6.11 で導入されました。

アクセス関数:

QQuick3DTextureProviderExtension::SamplerHint samplerHint() const
void setSamplerHint(QQuick3DTextureProviderExtension::SamplerHint newSamplerHint)

Notifierシグナル:

void samplerHintChanged()

関連項目: SamplerHint 。

メンバ関数のドキュメント

[signal, since 6.12] void QQuick3DTextureProviderExtension::surfaceChanged()

このシグナルは、基盤となるレンダリングサーフェスが変更され、テクスチャを再作成する必要がある場合に発行されます。

この関数は Qt 6.12 で導入されました。

[override virtual protected] QSSGRenderGraphObject *QQuick3DTextureProviderExtension::updateSpatialNode(QSSGRenderGraphObject *node)

QQuick3DRenderExtension::updateSpatialNode(QSSGRenderGraphObject *node) を再実装します。

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

node パラメータは、この関数から以前に返されたQSSGRenderTextureProviderExtension インスタンス、またはこの関数が初めて呼び出された場合は null です。この関数は、同じインスタンス、別のインスタンス、または null を返すことができます。関数が null を返した場合、その拡張機能はレンダリングパイプラインから削除されます。

注: QSSGRenderTextureProviderExtension インスタンスは リソースオブジェクトであり、QtQuick3D のシーングラフによって所有されます。異なるインスタンスまたはnullが返された場合、以前のインスタンスはレンダラーによって削除待ちのキューに入れられます。

「QSSGRenderTextureProviderExtension」も参照してください 。

© 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.