QRenderStateSet露
- PyQt5.Qt3DRender.QRenderStateSet
Inherits from QFrameGraphNode.
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, QRenderPass.
Methods露
- __init__(parent: QNode = None)
TODO
- addRenderState(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.
- removeRenderState(QRenderState)
Removes the QRenderState state from the QRenderStateSet instance.
- renderStates() → List[QRenderState]
Returns the list of QRenderState objects that compose the QRenderStateSet instance.