QRenderStateSet 类
class Qt3DRender::QRenderStateSetQRenderStateSet FrameGraph 节点提供了一种指定要在帧图分支执行期间应用的一组 QRenderState 对象的方法。更多信息...
头文件 | #include <QRenderStateSet> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake | QT += 3drender |
由 RenderStateSet 实例化 | RenderStateSet |
继承自 | Qt3DRender::QFrameGraphNode |
公共函数
void | addRenderState(Qt3DRender::QRenderState *state) |
void | removeRenderState(Qt3DRender::QRenderState *state) |
QList<Qt3DRender::QRenderState *> | renderStates() const |
详细说明
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。
成员函数说明
void QRenderStateSet::addRenderState(Qt3DRender::QRenderState *state)
将一个新的 QRenderState 状态 添加到 QRenderStateSet 实例。
注意:未在 QRenderStateSet 实例上设置任何 QRenderState 状态将意味着在渲染时将禁用所有渲染状态。
void QRenderStateSet::removeRenderState(Qt3DRender::QRenderState *state)
从 QRenderStateSet 实例中删除 QRenderState 状态。
QList<Qt3DRender::QRenderState *> QRenderStateSet::renderStates() const
返回组成 QRenderStateSet 实例的 QRenderState 对象的列表。
© 2024 The Qt Company Ltd. 本文档中包含的贡献内容均为各自所有者的版权。提供的文档受免费软件开发基金会发布的GNU自由文档许可协议版本1.3的条款约束。Qt及其相关标志是芬兰及/或其他国家的The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。