- API Level:
Enumeration for the behavior of the layer.
public enum LayerBehavior
Layer will use depth test.
This mode is designed for a 3 dimensional scene where actors in front
of other actors will obscure them, i.e. the actors are sorted by the
distance from the camera.
When using this mode, a depth test will be used. A depth clear will
happen for each layer, which means actors in a layer "above" other
layers will be rendered in front of actors in those layers regardless
of their Z positions (see Layer::Raise() and Layer::Lower()).
Opaque renderers are drawn first and write to the depth buffer. Then
transparent renderers are drawn with depth test enabled but depth
write switched off. Transparent renderers are drawn based on their
distance from the camera. A renderer's DEPTH_INDEX property is used to
offset the distance to the camera when ordering transparent renderers.
This is useful if you want to define the draw order of two or more
transparent renderers that are equal distance from the camera. Unlike
LAYER_UI, parent-child relationship does not affect rendering order at
UI control rendering mode (default mode).
This mode is designed for UI controls that can overlap. In this
mode renderer order will be respective to the tree hierarchy of
The rendering order is depth first, so for the following actor tree,
A will be drawn first, then B, D, E, then C, F. This ensures that
overlapping actors are drawn as expected (whereas, with breadth first
traversal, the actors would interleave).