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.
new Layer(options: any): Layer
Create a new Layer instance.
any = {}
Object for passing optional arguments. These arguments are the same as properties of the Layer.
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:
onEnable: Function
Custom function that is called after the layer has been enabled. This happens when:
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.
get clearColorBuffer(): boolean
Gets whether the camera will clear the color buffer when it renders this layer.
boolean
set clearColorBuffer(val: boolean): void
Sets whether the camera will clear the color buffer when it renders this layer.
boolean
void
get clearDepthBuffer(): boolean
Gets whether the camera will clear the depth buffer when it renders this layer.
boolean
set clearDepthBuffer(val: boolean): void
Sets whether the camera will clear the depth buffer when it renders this layer.
boolean
void
get clearStencilBuffer(): boolean
Gets whether the camera will clear the stencil buffer when it renders this layer.
boolean
set clearStencilBuffer(val: boolean): void
Sets whether the camera will clear the stencil buffer when it renders this layer.
boolean
void
get enabled(): boolean
Gets the enabled state of the layer.
boolean
set enabled(val: boolean): void
Sets the enabled state of the layer. Disabled layers are skipped. Defaults to true.
boolean
void
addCamera(camera: CameraComponent): void
Adds a camera to this layer.
void
addLight(light: LightComponent): void
Adds a light to this layer.
void
addMeshInstances(meshInstances: MeshInstance[], skipShadowCasters?: boolean): void
Adds an array of mesh instances to this layer.
Array of MeshInstance.
boolean
Set it to true if you don't want these mesh instances to cast shadows in this layer. Defaults to false.
void
addShadowCasters(meshInstances: MeshInstance[]): 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).
Array of MeshInstance.
void
clearCameras(): void
Removes all cameras from this layer.
void
clearLights(): void
Removes all lights from this layer.
void
clearMeshInstances(skipShadowCasters?: boolean): void
Removes all mesh instances from this layer.
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.
void
removeCamera(camera: CameraComponent): void
Removes a camera from this layer.
void
removeLight(light: LightComponent): void
Removes a light from this layer.
void
removeMeshInstances(meshInstances: MeshInstance[], skipShadowCasters?: boolean): void
Removes multiple mesh instances from this layer.
Array of MeshInstance. If they were added to this layer, they will be removed.
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.
void
removeShadowCasters(meshInstances: MeshInstance[]): void
Removes multiple mesh instances from the shadow casters list of this layer, meaning they will stop casting shadows.
Array of MeshInstance. If they were added to this layer, they will be removed.
void