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

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QRenderStateSet

Synopsis#

Functions#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

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 QRenderPass

class PySide6.Qt3DRender.Qt3DRender.QRenderStateSet([parent=None])#
Parameters:

parentPySide6.Qt3DCore.Qt3DCore.QNode

PySide6.Qt3DRender.Qt3DRender.QRenderStateSet.addRenderState(state)#
Parameters:

statePySide6.Qt3DRender.Qt3DRender.QRenderState

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.

PySide6.Qt3DRender.Qt3DRender.QRenderStateSet.removeRenderState(state)#
Parameters:

statePySide6.Qt3DRender.Qt3DRender.QRenderState

Removes the QRenderState state from the QRenderStateSet instance.

PySide6.Qt3DRender.Qt3DRender.QRenderStateSet.renderStates()#
Return type:

.list of Qt3DRender.QRenderState

Returns the list of QRenderState objects that compose the QRenderStateSet instance.