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. 更多...

头: #include <QRenderStateSet>
qmake: QT += 3drender
Since: Qt 5.5
实例化: RenderStateSet
继承: Qt3DRender::QFrameGraphNode

公共函数

QRenderStateSet (Qt3DCore::QNode * parent = nullptr)
void addRenderState (Qt3DRender::QRenderState * state )
void removeRenderState (Qt3DRender::QRenderState * state )
QVector<Qt3DRender::QRenderState *> renderStates () const

静态公共成员

const QMetaObject staticMetaObject

保护函数

QRenderStateSet (Qt3DRender::QRenderStateSetPrivate & dd , Qt3DCore::QNode * parent = nullptr)

额外继承成员

详细描述

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);
					

另请参阅 QRenderState and QRenderPass .

成员函数文档编制

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 QRenderStateSet 实例。

注意: 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 )

移除 QRenderState state QRenderStateSet 实例。

QVector < Qt3DRender::QRenderState *> QRenderStateSet:: renderStates () const

Returns the list of QRenderState objects that compose the QRenderStateSet 实例。