Class: LayerComposition

pc.LayerComposition

Layer Composition is a collection of pc.Layer that is fed to pc.Scene#layers to define rendering order.

Constructor

new LayerComposition()

Create a new layer composition.
Properties:
Name Type Description
layerList Array A read-only array of pc.Layer sorted in the order they will be rendered.
subLayerList Array A read-only array of boolean values, matching pc.Layer#layerList. True means only semi-transparent objects are rendered, and false means opaque.
subLayerEnabled Array A read-only array of boolean values, matching pc.Layer#layerList. True means the layer is rendered, false means it's skipped.
cameras Array A read-only array of pc.CameraComponent that can be used during rendering, e.g. inside pc.Layer#onPreCull, pc.Layer#onPostCull, pc.Layer#onPreRender, pc.Layer#onPostRender.
Source:

Methods

getLayerById(id) → {pc.Layer}

Finds a layer inside this composition by its ID. null is returned, if nothing is found.
Parameters:
Name Type Description
id Number An ID of the layer to find.
Source:
Returns:
The layer corresponding to the specified ID. Returns null if layer is not found.
Type
pc.Layer

getLayerByName(name) → {pc.Layer}

Finds a layer inside this composition by its name. null is returned, if nothing is found.
Parameters:
Name Type Description
name String The name of the layer to find.
Source:
Returns:
The layer corresponding to the specified name. Returns null if layer is not found.
Type
pc.Layer

getOpaqueIndex(layer) → {Number}

Gets index of the opaque part of the supplied layer in the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to find index of.
Source:
Returns:
The index of the opaque part of the specified layer.
Type
Number

getTransparentIndex(layer) → {Number}

Gets index of the semi-transparent part of the supplied layer in the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to find index of.
Source:
Returns:
The index of the semi-transparent part of the specified layer.
Type
Number

insert(layer, index)

Inserts a layer (both opaque and semi-transparent parts) at the chosen index in the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to add.
index Number Insertion position.
Source:

insertOpaque(layer, index)

Inserts an opaque part of the layer (non semi-transparent mesh instances) at the chosen index in the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to add.
index Number Insertion position.
Source:

insertTransparent(layer, index)

Inserts a semi-transparent part of the layer at the chosen index in the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to add.
index Number Insertion position.
Source:

push(layer)

Adds a layer (both opaque and semi-transparent parts) to the end of the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to add.
Source:

pushOpaque(layer)

Adds part of the layer with opaque (non semi-transparent) objects to the end of the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to add.
Source:

pushTransparent(layer)

Adds part of the layer with semi-transparent objects to the end of the pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to add.
Source:

remove(layer)

Removes a layer (both opaque and semi-transparent parts) from pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to remove.
Source:

removeOpaque(layer)

Removes an opaque part of the layer (non semi-transparent mesh instances) from pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to remove.
Source:

removeTransparent(layer)

Removes a transparent part of the layer from pc.Layer#layerList.
Parameters:
Name Type Description
layer pc.Layer A pc.Layer to remove.
Source:

sortOpaqueLayers(layersA, layersB) → {Number}

Used to determine which array of layers has any opaque sublayer that is on top of all the opaque sublayers in the other array.
Parameters:
Name Type Description
layersA Array.<Number> IDs of layers
layersB Array.<Number> IDs of layers
Source:
Returns:
Returns a negative number if any of the opaque sublayers in layersA is on top of all the opaque sublayers in layersB, or a positive number if any of the opaque sublayers in layersB is on top of all the opaque sublayers in layersA, or 0 otherwise.
Type
Number

sortTransparentLayers(layersA, layersB) → {Number}

Used to determine which array of layers has any transparent sublayer that is on top of all the transparent sublayers in the other array.
Parameters:
Name Type Description
layersA Array.<Number> IDs of layers
layersB Array.<Number> IDs of layers
Source:
Returns:
Returns a negative number if any of the transparent sublayers in layersA is on top of all the transparent sublayers in layersB, or a positive number if any of the transparent sublayers in layersB is on top of all the transparent sublayers in layersA, or 0 otherwise.
Type
Number