- class QRenderStateSet#
The
QRenderStateSet
FrameGraph
节点提供了一种方法,用于在执行帧图分支时指定一个要应用的QRenderState
对象集合。 更多…概述#
方法#
def
__init__()
def
addRenderState()
def
renderStates()
注意
此文档可能包含自动从 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])#
- 参数:
parent –
QNode
- addRenderState(state)#
- 参数:
状态 –
QRenderState
向
QRenderStateSet
实例添加一个新的QRenderState
状态
。注意
未在
QRenderStateSet
实例上设置任何QRenderState
状态意味着所有渲染状态将在渲染时禁用。- removeRenderState(状态)#
- 参数:
状态 –
QRenderState
从
QRenderStateSet
实例中移除QRenderState
状态
。- renderStates()#
- 返回类型:
Qt3DRender.QRenderState 对象的列表
返回构成
QRenderStateSet
实例的QRenderState
对象的列表。