Sur cette page

QSSGRenderExtension Class

Classe de base pour les implémentations de nœuds de backend d’extension. En savoir plus…

Header: #include <qssgrenderextensions.h>
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 de rendu.

ConstanteValeurDescription
QSSGRenderExtension::RenderMode::Standalone0Le code de rendu est entièrement enregistré pendant la phase de préparation du rendu. Cela implique généralement qu’il existe des données de sortie généré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 l’image.
QSSGRenderExtension::RenderMode::Main1Le code de rendu est enregistré au cours du passage de rendu principal. Dans ce mode, la fonction prepareRender() est appelée lors de la phase de préparation de l'image, tandis que la fonction render() est appelée lors de 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 le passage principal (couleur).
QSSGRenderExtension::RenderStage::PostColor1Le code de rendu est enregistré et exécuté après le passage principal (couleur).

Remarque : le RenderStage n'est pertinent que lorsque le paramètre « RenderMode » est défini sur « Main ».

Documentation des fonctions membres

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

Constructeur permettant aux utilisateurs de spécifier un type personnalisé et des indicateurs pour une extension.

Remarque : 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.

Remarque : le type QSSGRenderGraphObject::BaseType::Extension est automatiquement ajouté à l'inType.

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

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

Renvoie le mode de rendu utilisé pour cette extension.

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

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

Renvoie l'état « Dirty ». Renvoie « true » s'il existe des données modifiées qui 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 spécifiques à chaque image et doivent être libérées ou considérées comme libérées au début de l'image suivante.

Voir également QSSGFrameData.

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

Préparer les données pour le rendu. Générer et collecter l’ data s nécessaires au rendu. Toute extension de rendu planifiée avant celle-ci a déjà été traitée. De plus, toute extension de rendu de mode « RenderMode::Standalone » aura, si elle a abouti, été entièrement exécutée.

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

Voir également QSSGFrameData.

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

Enregistrer le passage 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 QRhi actif peut être interrogé.

Voir également QSSGRenderExtension::RenderMode.

[pure virtual] void QSSGRenderExtension::resetForFrame()

Appelée à chaque début de nouvelle trame. À ce stade, toutes les données de la trame précédente doivent être effacées.

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

Renvoie l'étape au cours de 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.