QRenderStateSet Class

class Qt3DRender::QRenderStateSet

QRenderStateSet FrameGraph 노드는 프레임그래프 브랜치를 실행하는 동안 적용될 QRenderState 오브젝트 세트를 지정하는 방법을 제공합니다. 더 보기...

헤더: #include <QRenderStateSet>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: RenderStateSet
상속합니다: Qt3DRender::QFrameGraphNode
상태: Deprecated

공용 함수

void addRenderState(Qt3DRender::QRenderState *state)
void removeRenderState(Qt3DRender::QRenderState *state)
QList<Qt3DRender::QRenderState *> renderStates() const

상세 설명

큐렌더 스테이트 세트에 설정된 상태는 QRenderPass 에 설정할 수 있는 머티리얼별 상태와 달리 전역적으로 설정됩니다. 기본적으로 비어 있는 큐렌더 스테이트 세트는 실행 시 모든 렌더 스테이트가 비활성화됩니다. 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);

QRenderStateQRenderPass참조하세요 .

멤버 함수 문서

void QRenderStateSet::addRenderState(Qt3DRender::QRenderState *state)

QRenderStateSet 인스턴스에 새 QRenderState state 을 추가합니다.

참고: QRenderStateSet 인스턴스에서 QRenderState 상태를 설정하지 않으면 렌더링 시점에 모든 렌더링 상태가 비활성화됩니다.

void QRenderStateSet::removeRenderState(Qt3DRender::QRenderState *state)

QRenderStateSet 인스턴스에서 QRenderState state 을 제거합니다.

QList<Qt3DRender::QRenderState *> QRenderStateSet::renderStates() const

QRenderStateSet 인스턴스를 구성하는 QRenderState 객체 목록을 반환합니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.