Makes Models use common shader manager 57/294457/22
authorseungho baek <sbsh.baek@samsung.com>
Mon, 19 Jun 2023 13:43:00 +0000 (22:43 +0900)
committerseungho baek <sbsh.baek@samsung.com>
Thu, 6 Jul 2023 10:07:53 +0000 (19:07 +0900)
commit4e0cc5969cece69de5948be184a3af174ee1e567
treea013738c2ba5e1a36a5b0e94907c98b2de03e84b
parent45d0e1bdc59206f580a65fd868b9eb50d2049090
Makes Models use common shader manager

 - In Scene3D, the responsibility for modifying the shader code or setting the shader's uniform variables was scattered across many classes.
 - When a uniform variable is added or the name of a uniform variable is changed in the shader code, there was a problem of repeating the same modification in multiple codes.
 - In this patch, one class is responsible for creating or managing Shader code, and the class name is changed to ShaderManager.
 - And by using one ShaderManager per SceneView, it is easy to manage properties that should be applied in common within SceneView.
 - Although there is no difference in use in terms of Model/SceneView API, it is helpful for code management, and performance can be improved when many Renderers share a small number of Shaders.

Change-Id: I0975921a1a7e40c453156cf9bd0b1890fc8e6526
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
32 files changed:
automated-tests/src/dali-scene3d-internal/utc-Dali-GlbLoaderImpl.cpp
automated-tests/src/dali-scene3d-internal/utc-Dali-Gltf2LoaderImpl.cpp
automated-tests/src/dali-scene3d-internal/utc-Dali-MaterialImpl.cpp
automated-tests/src/dali-scene3d/CMakeLists.txt
automated-tests/src/dali-scene3d/utc-Dali-ShaderDefinitionFactory.cpp [deleted file]
automated-tests/src/dali-scene3d/utc-Dali-ShaderDefinitionOption.cpp [deleted file]
automated-tests/src/dali-scene3d/utc-Dali-ShaderManager.cpp [new file with mode: 0644]
automated-tests/src/dali-scene3d/utc-Dali-ShaderOption.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/scene-view/scene-view-impl.cpp
dali-scene3d/internal/controls/scene-view/scene-view-impl.h
dali-scene3d/internal/loader/gltf2-util.cpp
dali-scene3d/internal/loader/gltf2-util.h
dali-scene3d/internal/model-components/material-impl.cpp
dali-scene3d/internal/model-components/material-impl.h
dali-scene3d/internal/model-components/model-node-impl.cpp
dali-scene3d/internal/model-components/model-node-impl.h
dali-scene3d/internal/model-components/model-primitive-impl.cpp
dali-scene3d/internal/model-components/model-primitive-impl.h
dali-scene3d/public-api/file.list
dali-scene3d/public-api/loader/node-definition.cpp
dali-scene3d/public-api/loader/node-definition.h
dali-scene3d/public-api/loader/scene-definition.cpp
dali-scene3d/public-api/loader/shader-definition-factory.cpp [deleted file]
dali-scene3d/public-api/loader/shader-definition-factory.h [deleted file]
dali-scene3d/public-api/loader/shader-definition.h
dali-scene3d/public-api/loader/shader-manager.cpp [new file with mode: 0644]
dali-scene3d/public-api/loader/shader-manager.h [new file with mode: 0644]
dali-scene3d/public-api/loader/shader-option.cpp [moved from dali-scene3d/public-api/loader/shader-definition-option.cpp with 73% similarity]
dali-scene3d/public-api/loader/shader-option.h [moved from dali-scene3d/public-api/loader/shader-definition-option.h with 80% similarity]