このページでは

Qt3DRender::QLayerFilter Class

class Qt3DRender::QLayerFilter

フレームグラフの分岐に描画されるレイヤーを制御します。詳細...

ヘッダー: #include <qlayerfilter.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML内: LayerFilter
継承元: Qt3DRender::QFrameGraphNode
ステータス: 非推奨

このクラスは非推奨です。新しいコードでの使用は強く推奨しません。

パブリック型

enum FilterMode { AcceptAnyMatchingLayers, AcceptAllMatchingLayers, DiscardAnyMatchingLayers, DiscardAllMatchingLayers }

プロパティ

パブリック関数

QLayerFilter(Qt3DCore::QNode *parent = nullptr)
void addLayer(Qt3DRender::QLayer *layer)
Qt3DRender::QLayerFilter::FilterMode filterMode() const
QList<Qt3DRender::QLayer *> layers() const
void removeLayer(Qt3DRender::QLayer *layer)
void setFilterMode(Qt3DRender::QLayerFilter::FilterMode filterMode)

シグナル

void filterModeChanged(Qt3DRender::QLayerFilter::FilterMode filterMode)

詳細な説明

Qt3DRender::QLayerFilter を使用すると、フレームグラフのその分岐でどのレイヤーを描画するかをレンダラーに指示することができます。QLayerFilter は、QLayerFilter に追加された、およびQt3DCore::QEntity のコンポーネントとして追加されたQLayer インスタンスに基づいて、描画するエンティティを選択します。

QLayerFilterは、filterMode プロパティに応じて、特定のQLayer を持つエンティティを選択または除外するように設定できます。デフォルトでは、QLayerFilter によっても参照されているQLayer オブジェクトのいずれかを参照しているエンティティが選択されます(AcceptAnyMatchingLayers )。

FrameGraphツリー内では、ルートからリーフに至るブランチ内に、複数のQLayerFilter ノードをネストさせることができます。 その場合、フィルタリングはまず、最初に宣言されたQLayerFilter で指定されたフィルタリング方法を使用して、シーンのすべてのエンティティに対して行われます。その後、フィルタリングされたエンティティのサブセットに対して、2番目に宣言されたQLayerFilter に設定されたフィルタリング方法に基づいて再度フィルタリングが行われます。この処理は、そのブランチのすべてのQLayerFilter ノードが処理されるまで繰り返されます。

メンバタイプのドキュメント

enum QLayerFilter::FilterMode

描画するエンティティを選択するためのルールを指定します。

定数値説明
Qt3DRender::QLayerFilter::AcceptAnyMatchingLayers0このQLayerFilter に追加された1つ以上のQLayer オブジェクトを参照するエンティティを受け入れます。これがデフォルトです。
Qt3DRender::QLayerFilter::AcceptAllMatchingLayers1この に追加されたすべてのQLayer オブジェクトを参照するエンティティを受け入れます。QLayerFilter
Qt3DRender::QLayerFilter::DiscardAnyMatchingLayers2この に追加された1つ以上のQLayer オブジェクトを参照するエンティティを破棄します。QLayerFilter
Qt3DRender::QLayerFilter::DiscardAllMatchingLayers3この に追加されたすべてのQLayer オブジェクトを参照するエンティティを破棄するQLayerFilter

プロパティのドキュメント

filterMode : FilterMode

描画対象のエンティティを指定するフィルタモードを保持します。

デフォルト値は AcceptMatchingLayers です。

アクセス関数:

Qt3DRender::QLayerFilter::FilterMode filterMode() const
void setFilterMode(Qt3DRender::QLayerFilter::FilterMode filterMode)

通知シグナル:

void filterModeChanged(Qt3DRender::QLayerFilter::FilterMode filterMode)

メンバ関数のドキュメント

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

このコンストラクタは、指定されたparent を使用してインスタンスを作成します。

void QLayerFilter::addLayer(Qt3DRender::QLayer *layer)

現在のレイヤー一覧に「layer 」を追加する

QList<Qt3DRender::QLayer *> QLayerFilter::layers() const

現在のレイヤー一覧を返します

void QLayerFilter::removeLayer(Qt3DRender::QLayer *layer)

現在のレイヤー一覧から「layer 」を削除する

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