Sur cette page

QQuick3DTextureProviderExtension Class

Classe abstraite permettant d'implémenter des extensions de fournisseur de textures côté utilisateur. En savoir plus…

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

Types publics

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

Propriétés

Fonctions publiques

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

Signaux

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

Fonctions protégées réimplémentées

virtual QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node) override

Description détaillée

Il s'agit de la partie frontale d'une extension de fournisseur de textures. La partie arrière est implémentée dans QSSGRenderExtension. La classe QQuick3DTextureProviderExtension est une spécialisation de la classe QQuick3DRenderExtension qui sert à créer une extension de fournisseur de textures personnalisée capable à la fois de fournir des métadonnées supplémentaires sur le type de texture fourni et d'enregistrer automatiquement l'extension auprès du graphe de scène QtQuick3D. Il n’est donc pas nécessaire d’ajouter manuellement l’extension à la liste des extensions à utiliser avec un ` View3D` ; il suffit d’utiliser la propriété `textureProvider` du composant `Texture` pour déclencher l’exécution du code de l’extension lorsque cela est nécessaire.

La classe `QQuick3DTextureProviderExtension` est une classe abstraite qui doit être sous-classée et exposée en QML. La sous-classe doit implémenter la fonction ` QQuick3DRenderExtension::updateSpatialNode()` et renvoyer une instance de ` QSSGRenderExtension ` contenant le code à exécuter.

Voir également QSSGRenderExtension.

Documentation sur les types de membres

enum class QQuick3DTextureProviderExtension::SamplerHint

Spécifie une indication sur le type de texture qui sera fourni par l'extension.

ConstanteValeurDescription
QQuick3DTextureProviderExtension::SamplerHint::Sampler2D0Une texture 2D
QQuick3DTextureProviderExtension::SamplerHint::Sampler2DArray1Une texture sous forme de tableau
QQuick3DTextureProviderExtension::SamplerHint::Sampler3D2Une texture 3D
QQuick3DTextureProviderExtension::SamplerHint::SamplerCube3Une texture de carte cubique
QQuick3DTextureProviderExtension::SamplerHint::SamplerCubeArray4Un tableau de textures de type « cube map »
QQuick3DTextureProviderExtension::SamplerHint::SamplerBuffer5Une texture tampon

Documentation sur les propriétés

[since 6.11] samplerHint : SamplerHint

Cette propriété contient une indication sur le type de texture qui sera fourni par l'extension. Cela est nécessaire car les données de texture ne seront fournies qu'au moment où elles seront requises, mais les matériaux qui utilisent le composant Texture doivent savoir quel type d'échantillonneur fournir.

La valeur par défaut est « QQuick3DTextureProviderExtension::Sampler2D ».

Remarque : cette propriété n'est utilisée que lors de l'utilisation de CustomMaterials.

Cette énumération a été introduite dans Qt 6.11.

Fonctions d'accès :

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

Signal de notification :

void samplerHintChanged()

Voir aussi SamplerHint.

Documentation des fonctions membres

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

Ce signal est émis lorsque la surface de rendu sous-jacente a changé et que les textures doivent être recréées.

Cette fonction a été introduite dans Qt 6.12.

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

Réimplémente : QQuick3DRenderExtension::updateSpatialNode(QSSGRenderGraphObject *node).

Cette fonction est appelée lors de la synchronisation du graphe de scène QtQuick3D lorsqu'un élément est créé ou lorsqu'une mise à jour est demandée, généralement à la suite d'une modification des propriétés de l'élément. La fonction doit renvoyer une instance QSSGRenderTextureProviderExtension contenant le code à exécuter lors de l'exécution du pipeline de rendu de QtQuick3D.

Le paramètre ` node ` est l’instance ` QSSGRenderTextureProviderExtension ` précédente renvoyée par cette fonction, ou `null` s’il s’agit du premier appel de la fonction. La fonction peut renvoyer la même instance, une instance différente ou `null`. Si la fonction renvoie `null`, l’extension sera supprimée du pipeline de rendu.

Remarque : l’instance ` QSSGRenderTextureProviderExtension ` est un objet ressource et sera gérée par le graphe de scène ` QtQuick3D `. Si une instance différente, ou `null`, est renvoyée, l’instance précédente sera mise en file d’attente pour être supprimée par le moteur de rendu.

Voir aussi 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.