QNoDraw Class

class Qt3DRender::QNoDraw

FrameGraphブランチに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
ステータス非推奨

パブリック関数

QNoDraw(Qt3DCore::QNode *parent = nullptr)

詳細な説明

Qt3DRender::QNoDraw は、FrameGraphがメッシュを描画することなく、いくつかのレンダリングステートを設定したり、バッファをクリアしたりする必要がある場合に使用します。これは、実際にフィルタリングを実行するオーバーヘッドコストなしに、シーンの利用可能な インスタンスのどれにもマッチしない を持つのと同じ効果があります。Qt3DRender::QRenderPass Qt3DRender::QRenderPassFilter

無効にすると、Qt3DRender::QNoDraw ノードはシーンのレンダリングを妨げません。したがって、enabled プロパティを切り替えることは、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.