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