QRenderStateSet Class
class Qt3DRender::QRenderStateSetThe QRenderStateSet FrameGraph node offers a way of specifying a set of QRenderState objects to be applied during the execution of a framegraph branch. More...
Header: | #include <QRenderStateSet> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
Instantiated By: | RenderStateSet |
Inherits: | Qt3DRender::QFrameGraphNode |
Public Functions
void | addRenderState(Qt3DRender::QRenderState *state) |
void | removeRenderState(Qt3DRender::QRenderState *state) |
QList<Qt3DRender::QRenderState *> | renderStates() const |
Detailed Description
States set on a QRenderStateSet are set globally, contrary to the per-material states that can be set on a QRenderPass. By default, an empty QRenderStateSet will result in all render states being disabled when executed. Adding a QRenderState state explicitly enables that render state at runtime.
The RenderStateSet is enabled when added to the active frame graph:
// 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);
See also QRenderState and QRenderPass.
Member Function Documentation
void QRenderStateSet::addRenderState(Qt3DRender::QRenderState *state)
Adds a new QRenderState state to the QRenderStateSet instance.
Note: Not setting any QRenderState state on a QRenderStateSet instance implies all the render states will be disabled at render time.
void QRenderStateSet::removeRenderState(Qt3DRender::QRenderState *state)
Removes the QRenderState state from the QRenderStateSet instance.
QList<Qt3DRender::QRenderState *> QRenderStateSet::renderStates() const
Returns the list of QRenderState objects that compose the QRenderStateSet instance.
© 2024 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.