PySide6.Qt3DRender.Qt3DRender.QRenderStateSet

class QRenderStateSet

QRenderStateSet FrameGraph 节点提供了一种方法,用于指定在执行帧图分支期间应用的一组 QRenderState 对象。更多

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])
Parameters:

parentQNode

addRenderState(state)
Parameters:

状态QRenderState

QRenderStateSet实例添加一个新的QRenderState state

注意

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

removeRenderState(state)
Parameters:

状态QRenderState

QRenderStateSet实例中移除QRenderState state

renderStates()
Return type:

Qt3DRender.QRenderState的列表

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