Класс QRenderStateSet
класс Qt3DRender::QRenderStateSetУзел QRenderStateSet графа кадров FrameGraph предоставляет способ задания набора объектов QRenderState, которые должны применяться во время выполнения ветви графа кадров. Подробнее...
| Заголовок: | #include <QRenderStateSet> |
| CMake: | find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| С момента: | Qt 5.5 |
| Инициализируется из: | 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 state в экземпляр QRenderStateSet.
Примечание: Не задавая никакого состояния QRenderState в экземпляре QRenderStateSet, подразумевается, что все состояния рендеринга будут отключены во время рендеринга.
void QRenderStateSet::removeRenderState(Qt3DRender::QRenderState *state)
Удаляет QRenderState state из экземпляра QRenderStateSet.
QList<Qt3DRender::QRenderState *> QRenderStateSet::renderStates() const
Возвращает список объектов QRenderState, которые составляют экземпляр QRenderStateSet.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3drender-qrenderstateset.html