Auf dieser Seite

QQuick3DTextureProviderExtension Class

Abstrakte Klasse zur Implementierung von benutzerseitigen Texturanbieter-Erweiterungen. Mehr...

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

Eigenschaften

Öffentliche Funktionen

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

Signale

Reimplementierte geschützte Funktionen

virtual QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node) override

Detaillierte Beschreibung

Dies ist die Front-End-Seite einer Texturanbieter-Erweiterung. Die Backend-Seite ist in QSSGRenderExtension implementiert. Die QQuick3DTextureProviderExtension ist eine Spezialisierung der Klasse QQuick3DRenderExtension, die verwendet wird, um eine benutzerdefinierte Texturanbietererweiterung zu erstellen, die sowohl zusätzliche Metadaten darüber bereitstellen kann, welche Art von Textur bereitgestellt wird, als auch die Erweiterung automatisch im QtQuick3D Szenegraph registriert. Dies bedeutet, dass es nicht notwendig ist, die Erweiterung manuell zur Liste der Erweiterungen hinzuzufügen, die mit einer View3D verwendet werden sollen, und dass die Verwendung der textureProvider-Eigenschaft der Texture-Komponente ausreicht, um den Code der Erweiterung bei Bedarf auszuführen.

Die Klasse QQuick3DTextureProviderExtension ist eine abstrakte Klasse, die unterklassifiziert und in QML offengelegt werden sollte. Die Unterklasse sollte die Funktion QQuick3DRenderExtension::updateSpatialNode() implementieren und eine Instanz QSSGRenderExtension zurückgeben, die den auszuführenden Code enthält.

Siehe auch QSSGRenderExtension.

Dokumentation der Eigenschaften

[since 6.11] samplerHint : SamplerHint

Diese Eigenschaft enthält einen Hinweis auf die Art der Textur, die von der Erweiterung bereitgestellt wird. Dies ist notwendig, da die Texturdaten erst dann bereitgestellt werden, wenn sie benötigt werden, aber Materialien, die die Komponente Textur verwenden, müssen wissen, welche Art von Sampler sie bereitstellen sollen.

Der Standardwert ist QQuick3DTextureProviderExtension::Sampler2D.

Hinweis: Diese Eigenschaft wird nur bei der Verwendung von CustomMaterials verwendet.

Diese Eigenschaft 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 der Mitgliedsfunktionen

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

Reimplements: QQuick3DRenderExtension::updateSpatialNode(QSSGRenderGraphObject *Knoten).

Diese Funktion wird während der Synchronisierung des QtQuick3D Szenengraphen aufgerufen, wenn ein Element erstellt wird oder wenn eine Aktualisierung angefordert wird, normalerweise als Ergebnis 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 Instanz QSSGRenderTextureProviderExtension, die von dieser Funktion zurückgegeben wurde, oder null, wenn die Funktion zum ersten Mal aufgerufen wird. Die Funktion kann die gleiche Instanz, eine andere Instanz oder null zurückgeben. Wenn die Funktion null zurückgibt, wird die Erweiterung aus der Rendering-Pipeline entfernt.

Hinweis: Die Instanz QSSGRenderTextureProviderExtension ist ein Ressourcenobjekt und gehört zum Szenengraph QtQuick3D. Wenn eine andere Instanz oder null zurückgegeben wird, wird die vorherige Instanz zum Löschen durch den Renderer 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.