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.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qt3drender-qrenderstateset.html