Класс QRenderStateSet
класс Qt3DRender::QRenderStateSetУзел QRenderStateSet FrameGraph предоставляет способ задания набора объектов QRenderState, которые должны применяться во время выполнения ветви framegraph. Подробнее...
| Заголовок: | #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.1/qt3drender-qrenderstateset.html