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
(since 6.11)samplerHint : SamplerHint
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.
| Constante | Valeur | Description |
|---|---|---|
QQuick3DTextureProviderExtension::SamplerHint::Sampler2D | 0 | Une texture 2D |
QQuick3DTextureProviderExtension::SamplerHint::Sampler2DArray | 1 | Une texture sous forme de tableau |
QQuick3DTextureProviderExtension::SamplerHint::Sampler3D | 2 | Une texture 3D |
QQuick3DTextureProviderExtension::SamplerHint::SamplerCube | 3 | Une texture de carte cubique |
QQuick3DTextureProviderExtension::SamplerHint::SamplerCubeArray | 4 | Un tableau de textures de type « cube map » |
QQuick3DTextureProviderExtension::SamplerHint::SamplerBuffer | 5 | Une 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.