Engine API Reference - v2.6.1
    Preparing search index...

    Class Layer

    A Layer represents a renderable subset of the scene. It can contain a list of mesh instances, lights and cameras, their render settings and also defines custom callbacks before, after or during rendering. Layers are organized inside LayerComposition in a desired order.

    Index

    Constructors

    • Create a new Layer instance.

      Parameters

      • options: any = {}

        Object for passing optional arguments. These arguments are the same as properties of the Layer.

      Returns Layer

    Properties

    id: number

    A unique ID of the layer. Layer IDs are stored inside ModelComponent#layers, RenderComponent#layers, CameraComponent#layers, LightComponent#layers and ElementComponent#layers instead of names. Can be used in LayerComposition#getLayerById.

    name: string

    Name of the layer. Can be used in LayerComposition#getLayerByName.

    onDisable: Function

    Custom function that is called after the layer has been disabled. This happens when:

    • Layer#enabled was changed from true to false
    • Layer#decrementCounter was called and set the counter to zero.
    onEnable: Function

    Custom function that is called after the layer has been enabled. This happens when:

    • The layer is created with Layer#enabled set to true (which is the default value).
    • Layer#enabled was changed from false to true
    • Layer#incrementCounter was called and incremented the counter above zero.

    Useful for allocating resources this layer will use (e.g. creating render targets).

    opaqueSortMode: number

    Defines the method used for sorting opaque (that is, not semi-transparent) mesh instances before rendering. Can be:

    Defaults to SORTMODE_MATERIALMESH.

    transparentSortMode: number

    Defines the method used for sorting semi-transparent mesh instances before rendering. Can be:

    Defaults to SORTMODE_BACK2FRONT.

    Accessors

    • get clearColorBuffer(): boolean

      Gets whether the camera will clear the color buffer when it renders this layer.

      Returns boolean

    • set clearColorBuffer(val: boolean): void

      Sets whether the camera will clear the color buffer when it renders this layer.

      Parameters

      • val: boolean

      Returns void

    • get clearDepthBuffer(): boolean

      Gets whether the camera will clear the depth buffer when it renders this layer.

      Returns boolean

    • set clearDepthBuffer(val: boolean): void

      Sets whether the camera will clear the depth buffer when it renders this layer.

      Parameters

      • val: boolean

      Returns void

    • get clearStencilBuffer(): boolean

      Gets whether the camera will clear the stencil buffer when it renders this layer.

      Returns boolean

    • set clearStencilBuffer(val: boolean): void

      Sets whether the camera will clear the stencil buffer when it renders this layer.

      Parameters

      • val: boolean

      Returns void

    • get enabled(): boolean

      Gets the enabled state of the layer.

      Returns boolean

    • set enabled(val: boolean): void

      Sets the enabled state of the layer. Disabled layers are skipped. Defaults to true.

      Parameters

      • val: boolean

      Returns void

    Methods

    • Adds an array of mesh instances to this layer.

      Parameters

      • meshInstances: MeshInstance[]

        Array of MeshInstance.

      • OptionalskipShadowCasters: boolean

        Set it to true if you don't want these mesh instances to cast shadows in this layer. Defaults to false.

      Returns void

    • Adds an array of mesh instances to this layer, but only as shadow casters (they will not be rendered anywhere, but only cast shadows on other objects).

      Parameters

      Returns void

    • Removes all cameras from this layer.

      Returns void

    • Removes all lights from this layer.

      Returns void

    • Removes all mesh instances from this layer.

      Parameters

      • OptionalskipShadowCasters: boolean = false

        Set it to true if you want to continue the existing mesh instances to cast shadows. Defaults to false, which removes shadow casters as well.

      Returns void

    • Removes multiple mesh instances from this layer.

      Parameters

      • meshInstances: MeshInstance[]

        Array of MeshInstance. If they were added to this layer, they will be removed.

      • OptionalskipShadowCasters: boolean

        Set it to true if you want to still cast shadows from removed mesh instances or if they never did cast shadows before. Defaults to false.

      Returns void

    • Removes multiple mesh instances from the shadow casters list of this layer, meaning they will stop casting shadows.

      Parameters

      Returns void