QLayerFilter Class

class Qt3DRender::QLayerFilter

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

ヘッダー #include <QLayerFilter>
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 に追加されたQLayer インスタンスとQt3DCore::QEntity のコンポーネントに基づいて、描画するエンティティを選択する。

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)

Notifier シグナル:

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 を削除する。

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