En esta página

Qt3DRender::QRenderStateSet Class

class Qt3DRender::QRenderStateSet

El nodo QRenderStateSet FrameGraph ofrece una forma de especificar un conjunto de objetos QRenderState que se aplicarán durante la ejecución de una rama del framegraph. Más...

Cabecera: #include <QRenderStateSet>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
En QML: RenderStateSet
Hereda: Qt3DRender::QFrameGraphNode
Status: Obsoleto

Funciones Públicas

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

Descripción Detallada

Los estados definidos en un QRenderStateSet se definen globalmente, al contrario que los estados por material que pueden definirse en QRenderPass. Por defecto, un QRenderStateSet vacío hará que todos los estados de renderizado se desactiven al ejecutarse. Añadir un estado QRenderState habilita explícitamente ese estado de renderizado en tiempo de ejecución.

RenderStateSet se habilita cuando se añade al gráfico de fotogramas activo:

// 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);

Ver también QRenderState y QRenderPass.

Documentación de las funciones miembro

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

Añade un nuevo QRenderState state a la instancia QRenderStateSet.

Nota: No establecer ningún estado QRenderState en una instancia QRenderStateSet implica que todos los estados de renderizado se desactivarán en el momento del renderizado.

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

Elimina el QRenderState state de la instancia QRenderStateSet.

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

Devuelve la lista de objetos QRenderState que componen la instancia 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.