[Tizen] Makes Models use common shader manager 02/296902/4
authorseungho baek <sbsh.baek@samsung.com>
Mon, 19 Jun 2023 13:43:00 +0000 (22:43 +0900)
committerseungho baek <sbsh.baek@samsung.com>
Wed, 23 Aug 2023 04:51:40 +0000 (13:51 +0900)
commit6cbc42e56041b3c365cdd06f2171cae489e6e69d
tree90e478de68f48b34697562cc72881d8546bd9ff0
parente9be3e26adf825622858c369182c973fbdbc0726
[Tizen] 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]