QNoDraw Class

class Qt3DRender::QNoDraw

Qt3DRender::QNoDraw 노드가 프레임그래프 분기에 있으면 렌더러가 프리미티브를 렌더링하지 못하도록 합니다. 더 보기...

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

공용 함수

QNoDraw(Qt3DCore::QNode *parent = nullptr)

상세 설명

Qt3DRender::QNoDraw 는 프레임그래프가 메시를 그릴 필요 없이 일부 렌더링 상태를 설정하거나 일부 버퍼를 지워야 할 때 사용해야 합니다. 실제로 필터링을 수행하는 데 드는 오버헤드 비용 없이 씬의 사용 가능한 Qt3DRender::QRenderPass 인스턴스 중 어느 것과도 일치하지 않는 Qt3DRender::QRenderPassFilter 을 사용하는 것과 동일한 효과가 있습니다.

비활성화하면 Qt3DRender::QNoDraw 노드가 씬 렌더링을 방해하지 않습니다. 따라서 활성화된 속성을 토글하는 것은 Qt3DRender::QNoDraw 을 활성화 또는 비활성화할 수 있는 방법입니다.

Qt3DRender::QNoDraw 는 일반적으로 렌더 패스가 여러 개 있을 때 씬을 그리지 않도록 하기 위해 Qt3DRendeR::QClearBuffers 노드의 자손으로 사용됩니다.

Qt3DRender::QViewport *viewport = new Qt3DRender::QViewport();
Qt3DRender::QCameraSelector *cameraSelector = new Qt3DRender::QCameraSelector(viewport);

Qt3DRender::QClearBuffers *clearBuffers = new Qt3DRender::QClearBuffers(cameraSelector);
clearBuffers->setBuffers(Qt3DRender::QClearBuffers::ColorDepthBuffer);

Qt3DRender::QNoDraw *noDraw = new Qt3DRender::QNoDraw(clearBuffers);

Qt3DRender::QRenderPassFilter *mainPass = new Qt3DRender::QRenderPassFilter(cameraSelector);
....
Qt3DRender::QRenderPassFilter *previewPass = new Qt3DRender::QRenderPassFilter(cameraSelector);
....

멤버 함수 문서

[explicit] QNoDraw::QNoDraw(Qt3DCore::QNode *parent = nullptr)

생성자는 지정된 parent 로 인스턴스를 생성합니다.

© 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.