QRenderStateSet Class
(Qt3DRender::QRenderStateSet)The 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> |
qmake: | QT += 3drender |
Since: | Qt 5.5 |
Instantiated By: | RenderStateSet |
Inherits: | Qt3DRender::QFrameGraphNode |
Public Functions
QRenderStateSet(Qt3DCore::QNode *parent = nullptr) | |
void | addRenderState(Qt3DRender::QRenderState *state) |
void | removeRenderState(Qt3DRender::QRenderState *state) |
QVector<Qt3DRender::QRenderState *> | renderStates() const |
- 1 public function inherited from Qt3DRender::QFrameGraphNode
- 13 public functions inherited from Qt3DCore::QNode
- 31 public functions inherited from QObject
Static Public Members
const QMetaObject | staticMetaObject |
- 9 static public members inherited from QObject
Protected Functions
QRenderStateSet(Qt3DRender::QRenderStateSetPrivate &dd, Qt3DCore::QNode *parent = nullptr) |
- 1 protected function inherited from Qt3DRender::QFrameGraphNode
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject
Additional Inherited Members
- 3 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject
- 3 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
- 4 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Detailed Description
The QRenderStateSet FrameGraph node offers a way of specifying a set of QRenderState objects to be applied during the execution of a framegraph branch.
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
QRenderStateSet::QRenderStateSet(Qt3DCore::QNode *parent = nullptr)
Default constructs an instance of QRenderStateSet.
[protected]
QRenderStateSet::QRenderStateSet(Qt3DRender::QRenderStateSetPrivate &dd, Qt3DCore::QNode *parent = nullptr)
Default constructs an instance of QRenderStateSet.
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.
QVector<Qt3DRender::QRenderState *> QRenderStateSet::renderStates() const
Returns the list of QRenderState objects that compose the QRenderStateSet instance.
© 2021 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.