[Tizen] Backport 7.5 Scene3D for use ModelNode 01/291501/2
authorhuayong.xu <huayong.xu@samsung.com>
Mon, 20 Mar 2023 11:08:48 +0000 (19:08 +0800)
committerEunki, Hong <eunkiki.hong@samsung.com>
Tue, 18 Apr 2023 00:44:33 +0000 (09:44 +0900)
commitb3f6fae4d3aacdd4d2e11a318d1d093ced51c2b1
tree829d04c78572c0ef9c88af0e3ad9c142d27c8064
parentbc056529768fc934854f4728d7db9a8d83572cd6
[Tizen] Backport 7.5 Scene3D for use ModelNode

This is a combination of 10 commits.

Make sure that global variables are initialized lazily in scene3d.

Fix coverity issue (no POSITION attribute + use after move)

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Change namings of gltf-util

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Remove Duplicated code in gltf2-util using template

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Enable automated tests that load the exercise DLI model

Replace std::string global variables with C-style string.

A std::string global variable would allocate a memory in heap,
then copy the string from .text section to the heap.
This patch may reduce loading time & memory a little.

Use ModelNode / ModelPrimitive / Material instead of Actor / Renderer

 - This patch is based on the previous patch
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/288075/

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Fix svace/coverity issue (initialize value at Material)

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Change public member variable to private

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Allow to use premultiplied external texture

FrameBuffer result colortexture is premultiplied always.
So make we always use premultiplied texture.

And make a way to user determine native image source is premultiplied or not.

+

Since FBO texture always premultiplied, revert scene view's trick
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/285486

Change-Id: Idfec7ea5a26dcc827953ce268c32adc8f89247bd
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
108 files changed:
automated-tests/src/dali-scene3d-internal/CMakeLists.txt
automated-tests/src/dali-scene3d-internal/utc-Dali-Gltf2LoaderImpl.cpp
automated-tests/src/dali-scene3d-internal/utc-Dali-MaterialImpl.cpp [new file with mode: 0644]
automated-tests/src/dali-scene3d-internal/utc-Dali-ModelPrimitiveImpl.cpp [new file with mode: 0644]
automated-tests/src/dali-scene3d/CMakeLists.txt
automated-tests/src/dali-scene3d/utc-Dali-AnimationDefinition.cpp
automated-tests/src/dali-scene3d/utc-Dali-BvhLoader.cpp
automated-tests/src/dali-scene3d/utc-Dali-FacialAnimation.cpp
automated-tests/src/dali-scene3d/utc-Dali-Material.cpp [new file with mode: 0644]
automated-tests/src/dali-scene3d/utc-Dali-Model.cpp
automated-tests/src/dali-scene3d/utc-Dali-ModelNode.cpp [new file with mode: 0644]
automated-tests/src/dali-scene3d/utc-Dali-ModelPrimitive.cpp [new file with mode: 0644]
automated-tests/src/dali-scene3d/utc-Dali-NodeDefinition.cpp
automated-tests/src/dali-toolkit/utc-Dali-Image.cpp
automated-tests/src/dali-toolkit/utc-Dali-ImageUrl.cpp
automated-tests/src/dali-toolkit/utc-Dali-ImageVisual.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextureManager.cpp
dali-scene3d/internal/common/model-cache-manager.h
dali-scene3d/internal/controls/model/model-impl.cpp
dali-scene3d/internal/controls/model/model-impl.h
dali-scene3d/internal/controls/scene-view/scene-view-impl.cpp
dali-scene3d/internal/file.list
dali-scene3d/internal/graphics/shaders/default-physically-based-shader.frag
dali-scene3d/internal/graphics/shaders/default-physically-based-shader.vert
dali-scene3d/internal/loader/dli-loader-impl.cpp
dali-scene3d/internal/loader/gltf2-asset.cpp
dali-scene3d/internal/loader/gltf2-util.cpp
dali-scene3d/internal/loader/gltf2-util.h
dali-scene3d/internal/loader/json-util.cpp
dali-scene3d/internal/model-components/material-impl.cpp [new file with mode: 0644]
dali-scene3d/internal/model-components/material-impl.h [new file with mode: 0644]
dali-scene3d/internal/model-components/material-modify-observer.h [new file with mode: 0644]
dali-scene3d/internal/model-components/model-node-data-impl.cpp [new file with mode: 0644]
dali-scene3d/internal/model-components/model-node-data-impl.h [new file with mode: 0644]
dali-scene3d/internal/model-components/model-node-impl.cpp [new file with mode: 0644]
dali-scene3d/internal/model-components/model-node-impl.h [new file with mode: 0644]
dali-scene3d/internal/model-components/model-primitive-impl.cpp [new file with mode: 0644]
dali-scene3d/internal/model-components/model-primitive-impl.h [new file with mode: 0644]
dali-scene3d/internal/model-components/model-primitive-modify-observer.h [new file with mode: 0644]
dali-scene3d/public-api/controls/model/model.cpp
dali-scene3d/public-api/controls/model/model.h
dali-scene3d/public-api/file.list
dali-scene3d/public-api/loader/alpha-function-helper.cpp
dali-scene3d/public-api/loader/animation-definition.cpp
dali-scene3d/public-api/loader/animation-definition.h
dali-scene3d/public-api/loader/blend-shape-details.cpp
dali-scene3d/public-api/loader/blend-shape-details.h
dali-scene3d/public-api/loader/bvh-loader.cpp
dali-scene3d/public-api/loader/environment-definition.cpp
dali-scene3d/public-api/loader/environment-definition.h
dali-scene3d/public-api/loader/facial-animation-loader.cpp
dali-scene3d/public-api/loader/material-definition.cpp
dali-scene3d/public-api/loader/material-definition.h
dali-scene3d/public-api/loader/matrix-stack.h
dali-scene3d/public-api/loader/mesh-definition.cpp
dali-scene3d/public-api/loader/mesh-definition.h
dali-scene3d/public-api/loader/mesh-geometry.h
dali-scene3d/public-api/loader/node-definition.cpp
dali-scene3d/public-api/loader/node-definition.h
dali-scene3d/public-api/loader/parse-renderer-state.cpp
dali-scene3d/public-api/loader/parse-renderer-state.h
dali-scene3d/public-api/loader/resource-bundle.h
dali-scene3d/public-api/loader/scene-definition.cpp
dali-scene3d/public-api/loader/scene-definition.h
dali-scene3d/public-api/loader/shader-definition-factory.cpp
dali-scene3d/public-api/loader/shader-definition.cpp
dali-scene3d/public-api/loader/skeleton-definition.h
dali-scene3d/public-api/loader/skinning-details.cpp
dali-scene3d/public-api/loader/skinning-details.h
dali-scene3d/public-api/model-components/material.cpp [new file with mode: 0644]
dali-scene3d/public-api/model-components/material.h [new file with mode: 0644]
dali-scene3d/public-api/model-components/model-node.cpp [new file with mode: 0644]
dali-scene3d/public-api/model-components/model-node.h [new file with mode: 0644]
dali-scene3d/public-api/model-components/model-primitive.cpp [new file with mode: 0644]
dali-scene3d/public-api/model-components/model-primitive.h [new file with mode: 0644]
dali-toolkit/devel-api/image-loader/texture-manager.cpp
dali-toolkit/devel-api/image-loader/texture-manager.h
dali-toolkit/internal/builder/builder-impl.cpp
dali-toolkit/internal/controls/control/control-data-impl.cpp
dali-toolkit/internal/controls/scene3d-view/scene3d-view-impl.cpp
dali-toolkit/internal/controls/text-controls/text-label-impl.cpp
dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp
dali-toolkit/internal/image-loader/image-url-impl.cpp
dali-toolkit/internal/image-loader/image-url-impl.h
dali-toolkit/internal/text/controller/text-controller-event-handler.cpp
dali-toolkit/internal/text/controller/text-controller-impl.cpp
dali-toolkit/internal/text/controller/text-controller-input-font-handler.cpp
dali-toolkit/internal/text/controller/text-controller-input-font-handler.h
dali-toolkit/internal/text/controller/text-controller-input-properties.cpp
dali-toolkit/internal/text/controller/text-controller-input-properties.h
dali-toolkit/internal/text/controller/text-controller-placeholder-handler.cpp
dali-toolkit/internal/text/controller/text-controller-placeholder-handler.h
dali-toolkit/internal/text/controller/text-controller.cpp
dali-toolkit/internal/text/controller/text-controller.h
dali-toolkit/internal/text/markup-processor/markup-processor-embedded-item.cpp
dali-toolkit/internal/text/markup-processor/markup-processor-font.cpp
dali-toolkit/internal/text/markup-processor/markup-processor-helper-functions.cpp
dali-toolkit/internal/text/text-effects-style.cpp
dali-toolkit/internal/text/text-font-style.cpp
dali-toolkit/internal/texture-manager/texture-cache-manager.cpp
dali-toolkit/internal/texture-manager/texture-cache-manager.h
dali-toolkit/internal/texture-manager/texture-manager-impl.cpp
dali-toolkit/internal/texture-manager/texture-manager-impl.h
dali-toolkit/internal/texture-manager/texture-manager-type.h
dali-toolkit/public-api/image-loader/image-url.cpp
dali-toolkit/public-api/image-loader/image-url.h
dali-toolkit/public-api/image-loader/image.cpp
dali-toolkit/public-api/image-loader/image.h