QQuick3DTextureProviderExtension Class
Abstrakte Klasse zur Implementierung von benutzerseitigen Erweiterungen für Textur-Provider. Mehr...
| Header: | #include <QQuick3DTextureProviderExtension> |
| Since: | Qt 6.11 |
| In QML: | TextureProviderExtension |
| Inherits: | QQuick3DRenderExtension |
Öffentliche Typen
| enum class | SamplerHint { Sampler2D, Sampler2DArray, Sampler3D, SamplerCube, SamplerCubeArray, SamplerBuffer } |
Eigenschaften
(since 6.11)samplerHint : SamplerHint
Öffentliche Funktionen
| QQuick3DTextureProviderExtension::SamplerHint | samplerHint() const |
| void | setSamplerHint(QQuick3DTextureProviderExtension::SamplerHint newSamplerHint) |
Signale
| void | samplerHintChanged() |
(since 6.12) void | surfaceChanged() |
Neu implementierte geschützte Funktionen
| virtual QSSGRenderGraphObject * | updateSpatialNode(QSSGRenderGraphObject *node) override |
Ausführliche Beschreibung
Dies ist die Frontend-Seite einer Textur-Provider-Erweiterung. Die Backend-Seite ist in „ QSSGRenderExtension “ implementiert. Die Klasse „QQuick3DTextureProviderExtension“ ist eine Spezialisierung der Klasse „ QQuick3DRenderExtension “, die dazu dient, eine benutzerdefinierte Textur-Provider-Erweiterung zu erstellen, die sowohl zusätzliche Metadaten darüber bereitstellt, welche Art von Textur bereitgestellt wird, als auch die Erweiterung automatisch im Szenengraphen von „ QtQuick3D “ registriert. Das bedeutet, dass es nicht notwendig ist, die Erweiterung manuell zur Liste der Erweiterungen hinzuzufügen, die mit einem „ View3D “ verwendet werden sollen, und dass die bloße Verwendung der Eigenschaft „textureProvider“ der Texture-Komponente ausreicht, um den Ausführungscode der Erweiterung bei Bedarf auszulösen.
Die Klasse `QQuick3DTextureProviderExtension` ist eine abstrakte Klasse, die unterklassifiziert und für QML verfügbar gemacht werden sollte. Die Unterklasse sollte die Funktion ` QQuick3DRenderExtension::updateSpatialNode()` implementieren und eine ` QSSGRenderExtension `-Instanz zurückgeben, die den auszuführenden Code enthält.
Siehe auch ` QSSGRenderExtension`.
Dokumentation zu den Mitgliedstypen
enum class QQuick3DTextureProviderExtension::SamplerHint
Gibt einen Hinweis auf den Typ der Textur, die von der Erweiterung bereitgestellt wird.
| Konstante | Wert | Beschreibung |
|---|---|---|
QQuick3DTextureProviderExtension::SamplerHint::Sampler2D | 0 | Eine 2D-Textur |
QQuick3DTextureProviderExtension::SamplerHint::Sampler2DArray | 1 | Eine Array-Textur |
QQuick3DTextureProviderExtension::SamplerHint::Sampler3D | 2 | Eine 3D-Textur |
QQuick3DTextureProviderExtension::SamplerHint::SamplerCube | 3 | Eine Cube-Map-Textur |
QQuick3DTextureProviderExtension::SamplerHint::SamplerCubeArray | 4 | Ein Array von Cube-Map-Texturen |
QQuick3DTextureProviderExtension::SamplerHint::SamplerBuffer | 5 | Eine Puffertextur |
Dokumentation zu den Eigenschaften
[since 6.11] samplerHint : SamplerHint
Diese Eigenschaft enthält einen Hinweis auf den Typ der Textur, die von der Erweiterung bereitgestellt wird. Dies ist notwendig, da die Texturdaten erst dann bereitgestellt werden, wenn sie benötigt werden, Materialien, die die Texture-Komponente verwenden, jedoch wissen müssen, welcher Sampler-Typ bereitgestellt werden soll.
Der Standardwert lautet „ QQuick3DTextureProviderExtension::Sampler2D “.
Hinweis: Diese Eigenschaft wird nur bei der Verwendung von CustomMaterials verwendet.
Diese Aufzählung wurde in Qt 6.11 eingeführt.
Zugriffsfunktionen:
| QQuick3DTextureProviderExtension::SamplerHint | samplerHint() const |
| void | setSamplerHint(QQuick3DTextureProviderExtension::SamplerHint newSamplerHint) |
Notifier-Signal:
| void | samplerHintChanged() |
Siehe auch „ SamplerHint “.
Dokumentation zu den Mitgliedsfunktionen
[signal, since 6.12] void QQuick3DTextureProviderExtension::surfaceChanged()
Dieses Signal wird ausgelöst, wenn sich die zugrunde liegende Rendering-Oberfläche geändert hat und Texturen neu erstellt werden müssen.
Diese Funktion wurde in Qt 6.12 eingeführt.
[override virtual protected] QSSGRenderGraphObject *QQuick3DTextureProviderExtension::updateSpatialNode(QSSGRenderGraphObject *node)
Umsetzt: QQuick3DRenderExtension::updateSpatialNode(QSSGRenderGraphObject *node).
Diese Funktion wird während der Synchronisation des QtQuick3D -Szenengraphen aufgerufen, wenn ein Element erstellt wird oder eine Aktualisierung angefordert wird – in der Regel infolge einer Änderung der Eigenschaften des Elements. Die Funktion sollte eine QSSGRenderTextureProviderExtension -Instanz zurückgeben, die den Code enthält, der während der Ausführung der Rendering-Pipeline von QtQuick3D ausgeführt werden soll.
Der Parameter ` node ` ist die vorherige ` QSSGRenderTextureProviderExtension `-Instanz, die von dieser Funktion zurückgegeben wurde, oder `null`, wenn die Funktion zum ersten Mal aufgerufen wird. Die Funktion kann dieselbe Instanz, eine andere Instanz oder `null` zurückgeben. Wenn die Funktion `null` zurückgibt, wird die Erweiterung aus der Rendering-Pipeline entfernt.
Hinweis: Die ` QSSGRenderTextureProviderExtension `-Instanz ist ein Ressourcenobjekt und gehört zum Szenenbaum von ` QtQuick3D `. Wird eine andere Instanz oder `null` zurückgegeben, wird die vorherige Instanz vom Renderer zur Löschung in die Warteschlange gestellt.
Siehe auch „ 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.