Support Panel for 2D component in 3D Scene 35/311235/43
authorSeungho Baek <sbsh.baek@samsung.com>
Thu, 16 May 2024 13:23:51 +0000 (22:23 +0900)
committerSeungho Baek <sbsh.baek@samsung.com>
Mon, 19 Aug 2024 06:01:44 +0000 (15:01 +0900)
commit0c9cfa1b9792bfb96c04c719e501092a3143e4a1
tree313f4714d0a621af7f76957b7c13ce8e963862d1
parent83a9a260f5a2714dd284a8adfb6c8b115830b783
Support Panel for 2D component in 3D Scene

 - Makes model-node-tree-utility to collect duplicate code used by
   Model and Panel for propagating Light/Shadow information to it's
   child ModelNodes.
 - Panel has UI Layer to show added 2D UI Scene on the 3D SceneView
   by using Off Screen rendering
 - Panel has a plane to be rendered and the plane has own resolution
   and its aspect ratio is independent of that of Panel's aspect ratio.
 - The plane can be transparent but the transparent plane can not make shadow.
 - The plane can be rendered as double sided either it is transparent or opaque.
 - The plane can have back side plane to avoid to show content from back side.
 - The back side plane is always opaque and it can be used only with the
   Opaque plane option. (if the plane is transparent, back side plane
   option is ignored.)

Change-Id: I6d7c9bf2dc44a6c12dae1ecde8f4d945c276228c
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
22 files changed:
automated-tests/src/dali-scene3d/CMakeLists.txt
automated-tests/src/dali-scene3d/utc-Dali-Panel.cpp [new file with mode: 0644]
dali-scene3d/dali-scene3d.h
dali-scene3d/internal/controls/model/model-impl.cpp
dali-scene3d/internal/controls/model/model-impl.h
dali-scene3d/internal/controls/panel/panel-impl.cpp [new file with mode: 0644]
dali-scene3d/internal/controls/panel/panel-impl.h [new file with mode: 0644]
dali-scene3d/internal/controls/scene-view/scene-view-impl.cpp
dali-scene3d/internal/event/collider-mesh-processor-impl.cpp
dali-scene3d/internal/event/collider-mesh-processor-impl.h
dali-scene3d/internal/event/collider-mesh-processor.cpp
dali-scene3d/internal/event/collider-mesh-processor.h
dali-scene3d/internal/file.list
dali-scene3d/internal/graphics/shaders/default-physically-based-shader.frag
dali-scene3d/internal/model-components/model-node-tree-utility.cpp [new file with mode: 0644]
dali-scene3d/internal/model-components/model-node-tree-utility.h [new file with mode: 0644]
dali-scene3d/public-api/controls/model/model.h
dali-scene3d/public-api/controls/panel/panel.cpp [new file with mode: 0644]
dali-scene3d/public-api/controls/panel/panel.h [new file with mode: 0644]
dali-scene3d/public-api/file.list
dali-scene3d/public-api/loader/shader-manager.cpp
dali-scene3d/public-api/model-components/model-node.h