RenderablesFilter QML Type

Defines a filter for selecting which renderables to affect in a pass. More...

Import Statement: import QtQuick3D
Since: Qt 6.11
Inherits:

Command

Properties

Detailed Description

The RenderablesFilter type is used to specify which renderables in the scene should be affected by a RenderPass. By setting the renderableTypes property, you can control whether the pass affects opaque objects, transparent objects, or no objects at all.

Setting renderableTypes to None is useful when a RenderPass acts as a container for SubRenderPass commands and should not render any scene objects itself.

In addition to filtering by renderable types, you can use the layerMask to further refine which renderables are affected based on their assigned layers.

 // A pass that renders only opaque scene objects
 RenderPass {
     id: opaquePass
     commands: [
         ColorAttachment { name: "color0"; target: opaqueColorTexture },
         DepthTextureAttachment { target: depthTexture },
         RenderablesFilter {
             renderableTypes: RenderablesFilter.Opaque
         }
     ]
 }

 // A pass that renders only transparent objects on top
 RenderPass {
     id: transparentPass
     commands: [
         ColorAttachment { name: "color0"; target: transparentColorTexture },
         RenderablesFilter {
             renderableTypes: RenderablesFilter.Transparent
         }
     ]
 }

Property Documentation

layerMask : int

Sets the layer mask for the filter. Only renderables on the specified layers will be affected by the filter.

See also Node::layers.

renderableTypes : enumeration [default: RenderablesFilter.Opaque | RenderablesFilter.Transparent]

Sets the types of renderables that the filter will affect.

ConstantDescription
RenderablesFilter.NoneNo renderables will be rendered. Useful for container passes that only have SubRenderPasses.
RenderablesFilter.OpaqueOnly opaque renderables will be rendered.
RenderablesFilter.TransparentOnly transparent renderables will be rendered.

Note: Multiple values can be combined using the | operator.