From ed1d0361b161e97b57dc1a8d6fa127f644727594 Mon Sep 17 00:00:00 2001 From: Nick Holland Date: Wed, 3 Feb 2016 15:28:04 +0000 Subject: [PATCH] Add Layer documentation Change-Id: I9ab1a03bd62aa50382aad4b3d11ca23becf0dac8 --- docs/content/images/layer/layer2d.png | Bin 0 -> 50526 bytes docs/content/images/layer/layers.png | Bin 0 -> 8836 bytes docs/content/images/layer/layers3d.png | Bin 0 -> 41223 bytes docs/content/images/layer/transSort.png | Bin 0 -> 17276 bytes docs/content/main.md | 3 +- .../layer.md | 278 +++++++++++++++++++++ 6 files changed, 280 insertions(+), 1 deletion(-) create mode 100644 docs/content/images/layer/layer2d.png create mode 100644 docs/content/images/layer/layers.png create mode 100644 docs/content/images/layer/layers3d.png create mode 100644 docs/content/images/layer/transSort.png create mode 100644 docs/content/shared-javascript-and-cpp-documentation/layer.md diff --git a/docs/content/images/layer/layer2d.png b/docs/content/images/layer/layer2d.png new file mode 100644 index 0000000000000000000000000000000000000000..fc04d38236a4eb916595a47e3577c2da2f528bc6 GIT binary patch literal 50526 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 Zp-gLsY^3NxbqoLiNl{smY9ak!{|9D0NJRhu literal 0 HcmV?d00001 diff --git a/docs/content/images/layer/layers.png b/docs/content/images/layer/layers.png new file mode 100644 index 0000000000000000000000000000000000000000..01ce975fdcdfb278bbc92e97668ff5b5ba424b0b GIT binary patch literal 8836 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 TT-7fY5kOW7ELkCL5b%Eh+yo_k literal 0 HcmV?d00001 diff --git a/docs/content/images/layer/layers3d.png b/docs/content/images/layer/layers3d.png new file mode 100644 index 0000000000000000000000000000000000000000..29a9faf1fe20364238eb870e3ab0d6c6136465a6 GIT binary patch literal 41223 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®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 UI^JmZ;XfB3FQXz|D`^t)f1hQ=0RR91 literal 0 HcmV?d00001 diff --git a/docs/content/images/layer/transSort.png b/docs/content/images/layer/transSort.png new file mode 100644 index 0000000000000000000000000000000000000000..dd405dd741016983da852cb082310005610891ac GIT binary patch literal 17276 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 literal 0 HcmV?d00001 diff --git a/docs/content/main.md b/docs/content/main.md index 0b06506..8bd6cef 100644 --- a/docs/content/main.md +++ b/docs/content/main.md @@ -1,4 +1,4 @@ -# DALi Introduction +# DALi Introduction ajskdfajksd fhksja ### Introduction + [What is DALi?](@ref dali-introduction) @@ -8,6 +8,7 @@ + [Main, Update & Render Threads](@ref dali-threads) + [DALi Fundamentals](@ref fundamentals) + [Actors & Stage](@ref actors-and-stage) + + [Layers and draw order](@ref layer) + [Coordinate System](@ref coordinate-system) + [Scene Graph](@ref scene-graph) + [Handle / Body Idiom](@ref handle-body-idiom) diff --git a/docs/content/shared-javascript-and-cpp-documentation/layer.md b/docs/content/shared-javascript-and-cpp-documentation/layer.md new file mode 100644 index 0000000..99bb82f --- /dev/null +++ b/docs/content/shared-javascript-and-cpp-documentation/layer.md @@ -0,0 +1,278 @@ + +# Layer ( Layer inherits from Actor) {#layer} + + Layers provide a mechanism for overlaying groups of actors on top of each other. + Layers can also clip their contents to exclude any content outside a user defined area. + + ![ ](../assets/img/layer/layers.png) + ![ ](layers.png) + + When a layer is added to the stage it is assigned a unique depth value. By default the stage has a root layer with a depth value of 0. + + Layers are actors and inherit position, orientation and scale of their parent actor. + They are drawn in an order determined by a layer depth value. + The depth buffer is cleared before each layer is rendered, unless depth + test is disabled or there's no need for it based on the layers contents. + +**Note: Layers work independently of the actor hierarchy.** +They can be positioned anywhere in the actor tree, but their draw order is always defined by their layer.getDepth() value. + +~~~{.js} +// JavaScript Example of adding an actor to the root layer + +// using stage.add() will automatically add actor to the root layer +dali.stage.add( myActor ); + +// Or you can explicitly add actor to the root layer. +var rootLayer = dali.stage.getRootLayer(); +rootLayer.add( myActor ); // adds an actor to the root layer + +// rootLayer.getDepth() == 0 + +~~~ + + +~~~{.cpp} +// C++ example of adding an actor to the root layer + +// using stage.add() will automatically add actor to the root layer +Stage stage = Stage::GetCurrent(); +stage.add( myActor ); + +// Or you can explicitly add actor to the root layer. +Layer rootLayer = stage.GetRootLayer(); +rootLayer.add( myActor ); // adds an actor to the root layer + +// rootLayer.getDepth() == 0 + +~~~ + +Example To create two new layers on top of the root layer. + + +~~~{.js} +// JavaScript + +var layer1 = new dali.Layer(); +var layer2 = new dali.Layer(); + +// the initially depth order of each layer, depends on the order +// it is added to the stage. + +dali.stage.add( layer1 ); // will be drawn on top of root layer +dali.stage.add( layer2 ); // will be drawn on top of layer 1 + +dali.stage.add( myActor1); +layer1.add( myActor2); +layer2.add( myActor3); + +// dali.stage.getRootLayer().getDepth = 0 myActor1 drawn first ( on bottom ) +// layer1.getDepth() == 1 myActor2 drawn second ( in middle ) +// layer2.getDepth() == 2 myActor3 drawn last ( on top ) +~~~ + +### Layer clipping + +Clips the contents of the layer to a rectangle. + +~~~{.js} +// JavaScript + +layer1.anchorPoint = dali.CENTER; +layer1.parentOrigin = dali.CENTER; +layer1.clippingEnable = true; +layer1.clippingBox = [20,20,100,100]; // X, Y, Width, Height +~~~ + +~~~{.cpp} +// C++ + +layer1.SetAnchorPoint( AnchorPoint::CENTER ); +layer1.SetParentOrigin( ParentOrigin::CENTER ); +layer1.SetClipping( true ); +layer1.SetClippingBox( 20, 20, 100, 100 ); // X, Y, Width, Height + +~~~ + +### Re-ordering layers + +The following functions can be used to change the draw order of the layers. + + + - Raise() Raise the layer up by 1 + - Lower() Lower the layer down by 1 + - RaiseAbove( layer ) Ensures the layers depth is greater than the target layer + - LowerBelow( layer ) Ensures the layers depth is less than the target layer + - RaiseToTop() raise the layer to the top + - LowerToBottom() lower the layer to the bottom + - MoveAbove( layer ) Moves the layer directly above the given layer. + - MoveBelow( layer ) Moves the layer directly below the given layer. + +Note: + - The root layer can be moved above and below other layers. However, stage.add( actor ), will always use the root layer object. + +### Rendering order of actors inside of a layer + +Layers have two behaviour modes: + + - LAYER_2D ( Default ) + - LAYER_3D + +### Layer_2D + +~~~{.js} +// JavaScript +layer.behaviour = "LAYER_2D"; +~~~ + +~~~{.cpp} +// C++ +layer.SetBehavior( Layer::LAYER_2D ); +~~~ + +#### Background + + - Graphics are drawn in DALi using renderers + - Actors can have zero or many renderers + - Renderers can be shared by actors + - Renderers have a depth index property + - In LAYER_2D mode, draw order of a renderer within a layer = Tree depth + renderer depth index + + When using Layer_2D mode depth testing is disabled (depth buffer not used). + + With LAYER_2D, the draw order of the renderers is defined by both: + + - Renderer depth index. + - Position of actor in the actor tree + + +Example: + +We have two layers below. Everything in the root layer is drawn first. +If we did dali.stage.getRootLayer().raiseToTop(), then the root layer would be drawn last. + + +![ ](../assets/img/layer/layer2d.png) +![ ](layer2d.png) + + +The formula for calculating the draw order of a renderer is: depthIndex + ( TREE_DEPTH_MULTIPLIER * tree depth ). +Currently Layer::TREE_DEPTH_MULTIPLIER == 1000: +~~~ + Root (root layer) ( depth index offset of 0) + +-> Actor1 ( depth index offset of 1000) + ++-> Actor2 ( depth Index offset of 2000) + +++-> Actor3 ( depth Index offset of 3000) + +++-> Actor4 ( depth Index offset of 3000) + +++-> Actor5 ( depth Index offset of 3000) + +++-> Layer1 ( depth Index has no meaning for layers, layer draw order is independent of the heirachy). + ++++-> Actor6 ( depth Index offset of 4000) + ++++-> Actor7 ( depth Index offset of 4000) + ++++-> Actor8 ( depth Index offset of 4000) +~~~ + +Renderers with higher depth indices are rendered in front of renderers with smaller values. + +Everything in the root layer gets rendered first, actors 1..5 +Then layer 1, actors 6..8 + +If we want to determine draw order of actors 6..8, we set the depthIndex on their renderers. +For example if we want the render draw order to be 8, 7, 6, with 6 being drawn last. + +~~~{.js} + var rendererForActor6 = new dali.Renderer( geometry, material ); + var rendererForActor7 = new dali.Renderer( geometry, material ); + var rendererForActor8 = new dali.Renderer( geometry, material ); + + rendererForActor6.depthIndex = 2; // drawn on top ( last) + rendererForActor7.depthIndex = 1; // draw in the middle + rendererForActor8.depthIndex = 0; // drawn on bottom ( first) + + daliactor6.addRenderer( rendererForActor6 ); // renderer 6 drawn with index of 2 + 4000 = 4002 + daliactor7.addRenderer( rendererForActor7 ); // renderer 7 drawn with index of 1 + 4000 = 4001 + daliactor8.addRenderer( rendererForActor8 ); // renderer 8 drawn with depth index of 0 + 4000 = 4000 + +~~~ + +### Layer_3D + +~~~{.js} +// JavaScript +layer.behaviour = "LAYER_3D"; +~~~ + +~~~{.cpp} +// C++ +layer.SetBehavior( Layer::LAYER_3D ); +~~~ + +When using this mode depth testing will be used ( depth buffer enabled ). + +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. + + ![ ](../assets/img/layer/layers3d.png) + ![ ](layers3d.png) + + +Transparent renderers are drawn in order of distance +from the camera ( painter's algorithm ). + + ![ ](../assets/img/layer/transSort.png) + ![ ](transSort.png) + + +Note: + + - In LAYER_3D mode, actor tree hierarchy makes no difference to draw order + - When 2 transparent renderers are the same distance from the camera, you can use depth index to adjust which renderer is drawn first. + + +### Actor drawMode OVERLAY_2D + +Inside a layer it is possible to force a tree actors to be drawn on top everything else in the layer. + +The draw order of the actors inside the tree marked OVERLAY_2D, the draw order is defined by the renderers depth index. +Depth testing is not used. + + +Example: + +~~~{.js} +// JavaScript +var layer = new dali.Layer(); + +layer.behaviour = "LAYER_3D" + +dali.stage.add( layer ); + +layer.add( myActor1 ); +layer.add( myActor2 ); + +myActor3.drawMode = "OVERLAY_2D"; + +layer.add( myActor3 ); // actor 3 is drawn on top of actor 1 and 2 as it's in the OVERLAY. + +myActor3.add( myActor4 ); // actor 4 is drawn on top of actor 3, which is drawn on top of actor 1 and 2. + +myActor3.add( myActor5); // the depth index of actor 4 and 5 renderers will determine which is drawn first +~~~ + + + + + +### Layer Actor Specific Properties + +| Name | Type | Writeable | Animatable| +|------------------------|------------|--------------|-----------| +| clippingEnable |BOOLEAN | 0 | X | +| clippingBox | ARRAY [0,0,400,600]) | 0 | X| +| behaviour | STRING ( "LAYER_2D" or "LAYER_3D") | 0 | X| + + @class Layer + @extends Actor + +*/ -- 2.7.4