QLayer Class

class Qt3DRender::QLayer

The QLayer class provides a way of filtering which entities will be rendered. More...

Header: #include <QLayer>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Instantiated By: Layer
Inherits: Qt3DCore::QComponent

Properties

Public Functions

QLayer(Qt3DCore::QNode *parent = nullptr)
bool recursive() const
void setRecursive(bool recursive)

Signals

Detailed Description

Qt3DRender::QLayer works in conjunction with the Qt3DRender::QLayerFilter in the FrameGraph.

A QLayer can be applied to a subtree of entities by setting the recursive property to true.

 #include <Qt3DCore/QEntity>
 #include <Qt3DRender/QGeometryRenderer>
 #include <Qt3DRender/QLayer>
 #include <Qt3DRender/QLayerFilter>
 #include <Qt3DRender/QViewport>

// Scene
Qt3DCore::QEntity *rootEntity = new Qt3DCore::Qt3DCore::QEntity;

Qt3DCore::QEntity *renderableEntity = new Qt3DCore::Qt3DCore::QEntity(rootEntity);
Qt3DRender::QGeometryRenderer *geometryRenderer = new Qt3DCore::QGeometryRenderer(renderableEntity);
Qt3DRender::QLayer *layer1 = new Qt3DCore::QLayer(renderableEntity);
layer1->setRecursive(true);
renderableEntity->addComponent(geometryRenderer);
renderableEntity->addComponent(layer1);

...

// FrameGraph
Qt3DRender::QViewport *viewport = new Qt3DRender::QViewport;
Qt3DRender::QLayerFilter *layerFilter = new Qt3DRender::QLayerFilter(viewport);
layerFilter->addLayer(layer1);

...

See also Qt3DRender::QLayerFilter.

Property Documentation

recursive : bool

Specifies if the layer is also applied to the entity subtree.

Access functions:

bool recursive() const
void setRecursive(bool recursive)

Notifier signal:

void recursiveChanged()

Member Function Documentation

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

Constructs a new QLayer with the specified parent.

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