Sur cette page

Qt3DRender::QRenderStateSet Class

class Qt3DRender::QRenderStateSet

Le nœud QRenderStateSet FrameGraph permet de spécifier un ensemble d'objets QRenderState à appliquer lors de l'exécution d'une branche du framegraph. En savoir plus...

En-tête : #include <qrenderstateset.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : RenderStateSet
Hérite de : Qt3DRender::QFrameGraphNode
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Fonctions publiques

void addRenderState(Qt3DRender::QRenderState *state)
void removeRenderState(Qt3DRender::QRenderState *state)
QList<Qt3DRender::QRenderState *> renderStates() const

Description détaillée

Les états définis sur un QRenderStateSet sont définis globalement, contrairement aux états par matériau qui peuvent être définis sur un QRenderPass. Par défaut, un QRenderStateSet vide entraînera la désactivation de tous les états de rendu lors de l'exécution. L'ajout d'un état QRenderState active explicitement cet état de rendu lors de l'exécution.

L’ RenderStateSet est activé lorsqu’il est ajouté au graphe d’images actif :

// using namespace Qt3DRender;

Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity();

QRenderSettings *renderSettings = new QRenderSettings();

QViewport *viewport = new QViewport();
QCameraSelector *cameraSelector = new QCameraSelector(viewport);

QClearBuffers *clearBuffers = new QClearBuffers(cameraSelector);
clearBuffers->setBuffers(QClearBuffers::ColorDepthBuffer);

QRenderStateSet *renderStateSet = new QRenderStateSet(cameraSelector);
QCullFace *cullFace = new QCullFace(renderStateSet);
cullFace->setMode(QCullFace::Front);
renderStateSet->addRenderState(cullFace);

renderSettings->setActiveFrameGraph(viewport);

rootEntity->addComponent(renderSettings);

Voir également QRenderState et QRenderPass.

Documentation des fonctions membres

void QRenderStateSet::addRenderState(Qt3DRender::QRenderState *state)

Ajoute un nouvel état de rendu (QRenderState) state à l'instance QRenderStateSet.

Remarque : si aucun état QRenderStaten'est défini sur une instance QRenderStateSet, tous les états de rendu seront désactivés au moment du rendu.

void QRenderStateSet::removeRenderState(Qt3DRender::QRenderState *state)

Supprime l'state e QRenderState de l'instance QRenderStateSet.

QList<Qt3DRender::QRenderState *> QRenderStateSet::renderStates() const

Renvoie la liste des objets QRenderState qui composent l'instance QRenderStateSet.

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