API reference
API reference
Select your platform
No SDKs available
No versions available

SceneLayer Class

Modifiers: abstract
Base class for creating and managing rendering layers within a Scene. Each layer has a unique ID and supports configuration of scale, position, alpha blending, and super-sampling. Layers are destroyed automatically via MainThreadCleanup when finalized, or explicitly by calling destroy(). Subclass this to implement custom rendering layers.

Signature

abstract class SceneLayer(scene_: Scene, id_: Int)

Constructors

SceneLayer ( scene_ , id_ )
Signature
constructor(scene_: Scene, id_: Int)
Parameters
scene_: Scene
id_: Int  Unique integer identifier for this layer within the scene. Used internally to reference the layer in native rendering calls.
Returns
SceneLayer

Methods

destroy ()
Destroys this layer and removes it from the parent Scene. Once destroyed, all subsequent method calls on this layer are no-ops. Called automatically during garbage collection via finalize().
Signature
fun destroy()
setAlphaBlend ( layerAlphaBlend )
Sets the alpha blending mode for this layer.
This controls how the layer blends with content behind it.
Signature
fun setAlphaBlend(layerAlphaBlend: LayerAlphaBlend)
Parameters
layerAlphaBlend: LayerAlphaBlend  The alpha blending configuration to use
setClip ( minUV , maxUV , minRightUV , maxRightUV )
Sets the UV clip region for this layer's swapchain texture.
This allows showing only a portion of the texture, or showing different portions for each eye in stereo rendering.
Signature
fun setClip(minUV: Vector2, maxUV: Vector2, minRightUV: Vector2 = minUV, maxRightUV: Vector2 = maxUV)
Parameters
minUV: Vector2  The minimum UV coordinates for the left eye (or both eyes if mono)
maxUV: Vector2  The maximum UV coordinates for the left eye (or both eyes if mono)
minRightUV: Vector2  The minimum UV coordinates for the right eye (defaults to minUV)
maxRightUV: Vector2  The maximum UV coordinates for the right eye (defaults to maxUV)
setColorScaleBias ( scale , bias )
Sets the color scale and bias for this layer.
This allows for color adjustment using the formula: output = input * scale + bias
Signature
fun setColorScaleBias(scale: Vector4, bias: Vector4)
Parameters
scale: Vector4  The scale factor for each color channel (r, g, b, a)
bias: Vector4  The bias value for each color channel (r, g, b, a)
setFilters ( filters )
Sets the compositor filter flags for this layer. Filters control which rendering passes include this layer in their output. Pass a bitmask of filter constants to configure visibility per render pass.
Signature
fun setFilters(filters: Int)
Parameters
filters: Int
setScale ( scale )
Sets the scale of this layer using a Vector3 defining the x, y, and z scale factors applied to the layer's rendering output.
Signature
fun setScale(scale: Vector3)
Parameters
scale: Vector3
setSecure ( secure )
Sets whether this layer should be secure.
When a layer is secure, its content cannot be captured or copied by other applications. Needs to be enabled to play DRM protected content.
Signature
fun setSecure(secure: Boolean)
Parameters
secure: Boolean  Whether the layer should be secure
setZIndex ( zIndex )
Sets the Z-index of this layer, controlling its rendering order.
Layers with higher Z-index values are rendered on top of layers with lower values. When layers have the same Z-index, they are sorted by distance to the viewer.
Signature
fun setZIndex(zIndex: Int)
Parameters
zIndex: Int  The Z-index value (default is 0)