[Tizen] Backport tizen_7.5 for Scene3D
This is a combination of 54 commits.
Revert "[Tizen] Texture size reduction on the fly for 3D model using metadata"
This reverts commit
bd8d3703a1147e323aafca88a8a774495cc1e56c.
Revert "[Tizen] Make API to set MultiSampling level for SceneView"
This reverts commit
59df57f1a5ebfefd81ba56e44c918e41e5c452d5.
Revert "[Tizen] Able to load uint8_t type Joint + Able to animate 0 duration animation"
This reverts commit
95d8d0192701e1127293955308f67845a309b228.
Revert "[Tizen] inherit parent color in 3D model."
This reverts commit
780ee74b53272bfcf3b26e6ca9b0c74aa0e84c0b.
Revert "[Tizen] Support Fade animation when UseFrameBuffer is true in SceneView."
This reverts commit
8cf0d351b5ec71b456a0ce6565047a34233019e9.
Revert "[Tizen] Use AnimatedProperty instead of name for getActor."
This reverts commit
b74811f29389151fba6870c8bcf19d4e96b8474a.
Revert "[Tizen] Make FBO visual use premultiplied alpha (2)"
This reverts commit
d3d7e9f9f8e1555e6ce9de3a8496a9af11188009.
Revert "[Tizen] Make FBO visual use premultiplied alpha"
This reverts commit
280dc16b205e696bc652baaf90361a176f331f0a.
Revert "[Tizen] Fix opacity animation issue in 3D"
This reverts commit
f5d4d324ddb013f67fe21367027ab7425bd0fdb8.
Revert "[Tizen] Do not name check to add node"
This reverts commit
37a0481c17b7083f8a28d5274bd47a7d43290ed0.
Revert "[Tizen] Fix Scene3D shader cache miss"
This reverts commit
cae8c5dee904d34aaad8343d33c54e152d80f6b4.
Revert "[Tizen] Fix Scene3d::Loader bugs"
This reverts commit
c2d880b6505e40da7324195c9e2e3ee1cb40a0c4.
Revert "[Tizen] Fix 3D blend issue"
This reverts commit
16874136b5ffc785c05dbe2ab878a28792f5a07f.
Revert "[Tizen] Make Scene3D controls also applied actor color"
This reverts commit
089ff5baf1e75b911225806238570302b1ef184a.
Revert "[Tizen] Make SceneView FBO multisampling + Sync utc harness"
This reverts commit
e31bcb82f18b6117db091de8065c72e83a1efd33.
Revert "[Tizen] Support KHR_materials_specular and KHR_materials_ior extension of glTF"
This reverts commit
d63237ffbc775aa0328b802aed35d9da80874533.
Revert "[Tizen] Fix bug that didn't make nodes for child of multiple primitive"
This reverts commit
c12abcc2110b68497af5001671060182c491b207.
Revert "[Tizen] Remove SceneView RenderTask when destroied"
This reverts commit
6fa874b3ee5fc3da1a1f95e296a033ccefe3406f.
Revert "[Tizen](Scene3D) Change model's default behavior"
This reverts commit
a080be35b4960c8b7aee92c4df7cebfc9095274f.
Revert "[Tizen] Refactoring of SceneView and Model."
This reverts commit
cc7b2a7ebc1454b3a16db294d87fddb34b7a2995.
Revert "[Tizen] Fix Svace issue for 64bit"
This reverts commit
6b09321d0f01f06b199117f264a39e4af7beb4d1.
Revert "[Tizen] Fix build error"
This reverts commit
ff4ecf19c7d7d55af2c8750155c80c599afbc0e6.
Revert "[Tizen] Add Asynchronous loading for Model and SceneView"
This reverts commit
a557071870fe977361cb6d4316927f57ee3c8f60.
Add Skybox in SceneView
Signed-off-by: seungho <sbsh.baek@samsung.com>
Fix Svace issue for 64bit
Solve some convert from size_t to uint32_t case.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Refactoring of SceneView and Model.
- Loosen the coupling between SceneView and Model using observer.
- Add Priority of IBL. Model IBL has higher priority than SceneView.
Signed-off-by: seungho <sbsh.baek@samsung.com>
(Scene3D) Change model's default behavior
1. Make mRootModel's KEYBOARD_FOCUSABLE as false in default.
2. Set ParentOrigin at Intialize timing, not ModelLoad completed
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Deprecate camera plane distance setter + Allow to setup OrthographicSize.
Set each Left/Right/Top/Bottom plane distance setter is deprecated.
Instead of that API, we make to use OrthographicSize.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Make Scene3D controls also applied actor color
Let we make PBR shader use our world color system.
TODO : We should change DepthWrite & AlphaBlend properties on coreside.
Since the model might has 32bit image as texture, we cannot make
DepthWrite / BlendMode as AUTO.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Creates RenderTask when it connects on Scene and Remove it when it is disconnected.
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Enable multiple primitives in a mesh(glTF)
Signed-off-by: seunghobaek <sbsh.baek@samsung.com>
Support KHR_materials_specular and KHR_materials_ior extension of glTF
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Make SceneView FBO multisampling + Sync utc harness
Let we make SceneView's FBO usecase use multisampling as default.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Texture size reduction on the fly for 3D model using metadata
Make FBO visual use premultiplied alpha
Since FBO result use Premultiplied alpha texture,
make sure that FBO image use premultiplied alpha during render.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Equirectangular projection support for Skybox in SceneView
Fix Scene3d::Loader bugs
- Make Renderer translucent when AlphaMode is Blend
- Use discard for AlphaMode.Mask in shader
- Fixed ConvertSampler bug.
- Fixed crash when there isn't "scene" property in glTF
- Fixed wrong loading of buffer when the bufferView uses stride.
- Returns MeshDefinition::Blob::GetBufferSize() only mLength
This is because every use case of this method is to set real buffer size without considering stride.
- Fix texture order of Specular and Specular color.
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Allow duplicated name and use Actor ID as a unique key to define animation.
- We don't need to make crash when multiple nodes had same name.
- DALi actor also allows duplicated name.
- Because name is not an unique key, make AnimationDefinition use Actor ID as a key.(for glTF)
- glTF don't use name as a key.
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Fix Scene3D shader cache miss
1. Hash include THREE_TEX eash items.
It will reduce some shader hash collision.
2. Make vertex color use ifdef in shader level.
(Since we'd better skip to allocate vertex color attribs in usal case)
TODO : Current shader-define-factory.cpp implement has various problem.
We should refactorize this code, and re-open UTC soon
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Minor coverity issue fixed (scene3d only)
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Modify ColorMode Policy for SceneView and Model
- For Model, Use ColorMode::USE_OWN_MULTIPLY_PARENT_ALPHA for ColorMode
- Actor::Property::COLOR will affect its children Actors.
- For SceneView, Use ColorMode::USE_OWN_COLOR when mUseFrameBuffer is true.
- When Opacity of SceneView is animated, it looks natural.
- But, use ColorMode::USE_OWN_MULTIPLY_PARENT_ALPHA when mUseFrameBuffer is false.
- Then, Opacity animation is works (but slightly looks unnatural.)
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Use Renderer::BlendMode::USE_ACTOR_OPACITY instead to use depth write mode
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Bug fix to load animation of dli in Model
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Asynchronous loading of Scene3D resources
Signed-off-by: seunghobaek <sbsh.baek@samsung.com>
Fix SVACE error in scene-view
Able to load uint8_t type Joint + Able to animate 0 duration animation
This patch try to resolve 2 kind of unsupported feature.
1. There was possible to set JOINT_0 accessor type as unsigend byte.
Make it supported.
2. If duration of gltf was 0, the keyframe's progress value become -nan.
It may occure some problems.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Use EnvironmentMapLoadTask to load Equirectangular projection image.
- Changes SkymapType to EnvironmentMapType
- TODO: To make IBL image support Equirectangular projection
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Fix default IBL env map type as Cube Map
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Support embedded texture data for glTF + alpha
- Supports embedded gltf
- Supports data: iri for image.uri
- Supports data: iri for buffer.uri
- Supports image.bufferView.
- Additional Fix
- Changes default value of Sampler.wrapS, wrapT to Refeat
- Adds function to decode base64 to std::vector<uint_8>
- Fixes base64 decoder to do not cut end part.
Signed-off-by: seungho baek <sbsh.baek@samsung.com>
Make API to set MultiSampling level for SceneView
Make new API to set FBO's multiSamplingLevel what this scene view will use.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Fixed SVACE issue in gltf2-loader
Fix svace issue (uint32_t to long or std::streamsize)
To convert unsigned value into signed value safely,
we should convert as unsigned type with same size as signed type,
and after done, convert into signed type.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Reduce decoding time of embedded gltf + Fix base64 encode bug
Let we don't copy the full string during decode base64.
+
Let we print '=' tags end of encoded base64 result, so
we can decode the encode result at common external library.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Generate tangent as Vector4 for gltf
Since gltf use aTangent as Vector4 type, we seperate
the tangent load logic and shaders.
But dali auto generated aTangent used only for Vector3.
It mean Vector4's w value was ignored.
This patch branch whether we use Vector3 tangent or not.
Change-Id: I78c4e77b9322d997bfdf7cd3f0b548ed7a188666
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>