Sur cette page

QSSGRenderExtension Class

Classe de base pour les implémentations de nœuds de backend d'extension. Plus d'informations...

Header: #include <QSSGRenderExtension>
Since: Qt 6.7
Inherited By:

QSSGRenderTextureProviderExtension

Types publics

enum class RenderMode { Standalone, Main }
enum class RenderStage { PreColor, PostColor }

Fonctions publiques

virtual QSSGRenderExtension::RenderMode mode() const = 0
virtual bool prepareData(QSSGFrameData &data) = 0
virtual void prepareRender(QSSGFrameData &data) = 0
virtual void render(QSSGFrameData &data) = 0
virtual void resetForFrame() = 0
virtual QSSGRenderExtension::RenderStage stage() const = 0

Fonctions protégées

QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)

Description détaillée

Voir aussi QQuick3DRenderExtension.

Documentation sur les types de membres

enum class QSSGRenderExtension::RenderMode

Spécifie le mode d'extension du rendu.

ConstanteValeurDescription du code de rendu
QSSGRenderExtension::RenderMode::Standalone0Le code de rendu est enregistré dans son intégralité pendant la phase de préparation du rendu. Cela implique généralement qu'il existe des sorties créées pour une ou plusieurs extensions de rendu précédentes. Lorsque ce mode est utilisé, les fonctions prepareRender() et render() sont toutes deux appelées pendant la phase de préparation de la trame.
QSSGRenderExtension::RenderMode::Main1Le code de rendu est enregistré dans la passe de rendu principale. Dans ce mode, la fonction prepareRender() est appelée pendant la phase de préparation de l'image, tandis que la fonction render() est appelée pendant la phase de rendu de l'image.

enum class QSSGRenderExtension::RenderStage

Spécifie l'ordre dans lequel l'extension sera appelée.

ConstanteValeurDescription
QSSGRenderExtension::RenderStage::PreColor0Le code de rendu est enregistré et exécuté avant la passe principale (couleur).
QSSGRenderExtension::RenderStage::PostColor1Le code de rendu est enregistré et exécuté après la passe principale (couleur).

Remarque : l'étape de rendu n'est pertinente que lorsque l'adresse RenderMode est définie sur Main.

Documentation des fonctions membres

[protected] QSSGRenderExtension::QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)

Constructeur permettant aux utilisateurs de spécifier un type d'utilisateur et des drapeaux pour une extension.

Note : Pour les extensions définies par l'utilisateur, le type doit être une combinaison de QSSGRenderGraphObject::BaseType::User et d'une valeur comprise entre 0 et 4095.

Note : Le type QSSGRenderGraphObject::BaseType::Extension est automatiquement ajouté à l'adresse inType donnée.

Remarque : Le site inFlags doit inclure Flags::HasGraphicsResources si l'extension alloue des ressources graphiques.

[pure virtual] QSSGRenderExtension::RenderMode QSSGRenderExtension::mode() const

Retourne le mode de rendu utilisé pour cette extension.

[pure virtual] bool QSSGRenderExtension::prepareData(QSSGFrameData &data)

Appelé après la collecte de la scène data, mais avant que les données de rendu ou le rendu de l'image en cours n'aient été effectués.

Retourne l'état sale. Retourne true si des données sales doivent être rendues.

Remarque : la plupart des données créées/collectées par le moteur pendant les phases de préparation et de rendu sont propres à chaque image et doivent être libérées ou supposées libérées au début de l'image suivante.

Voir aussi QSSGFrameData.

[pure virtual] void QSSGRenderExtension::prepareRender(QSSGFrameData &data)

Préparer les données pour le rendu. Construire et collecter le site data nécessaire au rendu. Toute extension de rendu programmée avant celle-ci a été traitée. En outre, toute extension de rendu du mode RenderMode::Standalone, si elle est réussie, aura été entièrement réalisée.

Remarque : la plupart des données créées/collectées par le moteur pendant les phases de préparation et de rendu se font par image et doivent être libérées ou supposées libérées au début de l'image suivante.

Voir également QSSGFrameData.

[pure virtual] void QSSGRenderExtension::render(QSSGFrameData &data)

Enregistre la passe de rendu. En fonction des extensions mode, cette fonction sera appelée pendant la phase de préparation ou de rendu de l'image.

Utilisez data pour accéder au contexte de rendu à partir duquel l'objet actif QRhi peut être interrogé.

Voir également QSSGRenderExtension::RenderMode.

[pure virtual] void QSSGRenderExtension::resetForFrame()

Appelé à chaque fois qu'une nouvelle trame commence. Toutes les données de la trame précédente doivent être effacées à ce stade.

[pure virtual] QSSGRenderExtension::RenderStage QSSGRenderExtension::stage() const

Returns L'étape dans laquelle cette extension de rendu sera utilisée.

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