Add BlendMode::ON_WITHOUT_CULL to keep rendering even Transparent. 69/263369/5
authorEunki Hong <eunkiki.hong@samsung.com>
Wed, 1 Sep 2021 07:35:59 +0000 (00:35 -0700)
committerEunki, Hong <eunkiki.hong@samsung.com>
Wed, 8 Sep 2021 09:56:55 +0000 (18:56 +0900)
commit50f6f9022d087132cfdc1eb2bdc59a3ca2d49b6f
tree580b650fb2ec50b88a881ab6ad3542d1d5f13ff2
parent2c35ada9af298e1c13ead74be72da719d2b87330
Add BlendMode::ON_WITHOUT_CULL to keep rendering even Transparent.

Previously, DevelRenderer always merged into uColor.a value.
This situation usally have no problem.

But when we want to use both MIX_COLOR and BORDERLINE_COLOR
there was no way to split Actor's opacity and MIX_COLOR's opacity.
So BORDERLINE_COLOR.a is always pre-multiplired by MIX_COLOR.a.
And also, when MIX_COLOR.a is zero, There is no way to render BORDERLINE only.

This patch try to fix this issue.

First, Add some flag keep-rendering logic.
Second, Turn on that flag only if borderline required (dali-toolkit)
Third, Add new custom uniform which have same value with actor's color (dali-toolkit)

Change-Id: I7115ecfa252eaaa862e4115b7fb41f208ca7026f
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali/utc-Dali-Renderer.cpp
dali/devel-api/rendering/renderer-devel.h
dali/internal/event/rendering/renderer-impl.cpp
dali/internal/update/manager/render-instruction-processor.cpp
dali/internal/update/rendering/scene-graph-renderer.cpp
dali/public-api/rendering/renderer.h