Auf dieser Seite

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

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

KonstanteWertBeschreibung
QQuick3DTextureProviderExtension::SamplerHint::Sampler2D0Eine 2D-Textur
QQuick3DTextureProviderExtension::SamplerHint::Sampler2DArray1Eine Array-Textur
QQuick3DTextureProviderExtension::SamplerHint::Sampler3D2Eine 3D-Textur
QQuick3DTextureProviderExtension::SamplerHint::SamplerCube3Eine Cube-Map-Textur
QQuick3DTextureProviderExtension::SamplerHint::SamplerCubeArray4Ein Array von Cube-Map-Texturen
QQuick3DTextureProviderExtension::SamplerHint::SamplerBuffer5Eine 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.