Sur cette page

QSSGRenderHelpers Class

Classe contenant des fonctions d'aide pour la configuration et le rendu des éléments « renderables » d'QtQuick3D. En savoir plus...

Header: #include <qssgrenderhelpers.h>
Since: Qt 6.7

Types publics

enum class CreateFlag { None, Recurse, Steal }
flags CreateFlags

Membres publics statiques

QSSGPrepResultId commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)
QSSGRenderablesId createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGNodeIdList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)
QSSGPrepContextId prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)
void prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)
void renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

Description détaillée

Documentation sur les types de membres

enum class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags

ConstanteValeurDescription
QSSGRenderHelpers::CreateFlag::None0Valeur par défaut. Les éléments de rendu ne sont créés que pour les nœuds spécifiés.
QSSGRenderHelpers::CreateFlag::Recurse0x1Des éléments de rendu sont créés pour chaque nœud et ses enfants.
QSSGRenderHelpers::CreateFlag::Steal0x2Les éléments de rendu sont extraits du moteur et ne seront pas rendus par ` QtQuick3D`.

Remarque : l'appel à ` QSSGRenderHelpers::createRenderables()` sans que l'indicateur `{QSSGRenderHelpers::CreateFlag::Steal}{Steal}` ne soit activé entraîne la duplication des nœuds, et ` QtQuick3D ` effectuera le rendu de sa copie des nœuds comme d'habitude.

Le type CreateFlags est un typedef pour QFlags<CreateFlag>. Il stocke une combinaison OR de valeurs CreateFlag.

Documentation des fonctions membres

[static] QSSGPrepResultId QSSGRenderHelpers::commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)

Une fois les modifications nécessaires apportées aux éléments à afficher, les données peuvent être marquées comme prêtes pour le moteur de rendu.

Renvoie un identifiant correspondant au résultat de la préparation.

frameData, prepId, renderablesId, lodThreshold

Voir également prepareRenderables() et renderRenderables().

[static] QSSGRenderablesId QSSGRenderHelpers::createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGNodeIdList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)

Cette fonction prend une liste d'identifiants de nœuds et crée des éléments rendables pouvant être traités par le moteur de rendu. S'il n'y a aucun nœud ou aucun nœud rendable dans la liste, l'identifiant renvoyé ne sera pas valide.

Par défaut, la fonction n’effectue pas de récursion et n’inclut pas les enfants de l’ nodes s dans la liste. Pour activer la récursion, il suffit de passer le drapeau « Recurse » dans l’argument « flags ».

Renvoie un identifiant correspondant aux éléments rendables créés.

frameData, prepId

Voir également ` CreateFlags ` et ` prepareForRender()`.

[static] QSSGPrepContextId QSSGRenderHelpers::prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)

La méthode `prepareForRender()` crée un contexte permettant de collecter et de stocker des informations sur les données de rendu associées à cette extension de rendu.

Si les mêmes nœuds doivent être rendus plusieurs fois mais avec des propriétés différentes, par exemple un matériau ou une caméra différents, un nouveau contexte sera alors nécessaire. Pour créer plusieurs contextes pour une même extension, on peut utiliser l’argument ` slot `. Le contexte par défaut est créé dans l’emplacement 0.

Renvoie un identifiant pour le contexte de préparation.

frameData, ext, cameraId

Voir aussi commit().

[static] void QSSGRenderHelpers::prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)

Préparez les données d'appel de dessin nécessaires aux éléments à afficher avant d'appeler la méthode ` renderRenderables`.

Renvoie un identifiant correspondant au résultat de la préparation.

frameData, renderPassDescriptor, ps, prepId, filter

Voir aussi ` renderRenderables()`.

[static] void QSSGRenderHelpers::renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

Effectuer le rendu des éléments pouvant être rendus.

frameData, prepId

Voir aussi prepareRenderables().

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