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) |
Documentation sur les types de membres
enum class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags
| Constante | Valeur | Description |
|---|---|---|
QSSGRenderHelpers::CreateFlag::None | 0 | Valeur par défaut. Les éléments de rendu ne sont créés que pour les nœuds spécifiés. |
QSSGRenderHelpers::CreateFlag::Recurse | 0x1 | Des éléments de rendu sont créés pour chaque nœud et ses enfants. |
QSSGRenderHelpers::CreateFlag::Steal | 0x2 | Les é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.