class QRenderStateSet#

The QRenderStateSet FrameGraph 节点提供了一种方法,用于在执行帧图分支时指定一个要应用的 QRenderState 对象集合。 更多

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QRenderStateSet

概述#

方法#

注意

此文档可能包含自动从 C++ 转换为 Python 的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来让我们知道。

详细说明#

QRenderStateSet 上设置的状态是全局设置的,这与可以设置在每个 QRenderPass 上的按材质状态相反。默认情况下,一个空的 QRenderStateSet 将导致在执行时禁用所有渲染状态。显式地添加 QRenderState 状态可以在运行时启用该渲染状态。

当将 RenderStateSet 添加到活动帧图时,将其启用

// 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 QRenderPass

__init__([parent=None])#
参数:

parentQNode

addRenderState(state)#
参数:

状态QRenderState

QRenderStateSet 实例添加一个新的 QRenderState 状态

注意

未在 QRenderStateSet 实例上设置任何 QRenderState 状态意味着所有渲染状态将在渲染时禁用。

removeRenderState(状态)#
参数:

状态QRenderState

QRenderStateSet 实例中移除 QRenderState 状态

renderStates()#
返回类型:

Qt3DRender.QRenderState 对象的列表

返回构成 QRenderStateSet 实例的 QRenderState 对象的列表。