Let borderline color doesn't affect to mixcolor alpha by uActorColor 68/263568/13
authorEunki, Hong <eunkiki.hong@samsung.com>
Mon, 6 Sep 2021 11:18:16 +0000 (20:18 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Fri, 24 Sep 2021 12:36:49 +0000 (21:36 +0900)
commit48220839bdcedaca9d53cbd15aab66353187c14b
treea92e25199b1184248014b582b8473c271d32506e
parentf60dccaa9330774193a343811ceefcd58960593a
Let borderline color doesn't affect to mixcolor alpha by uActorColor

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 logic to keep-rendering logic. (BlendMode::ON_WITHOUT_CULL)
Second, Turn on that flag only if borderline required.
Third, Modify shader s.t. use default uniform : uActorColor.

Change-Id: I033fa6accebe5ae59aedc1e0b68ee4b8d0df7098
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.cpp
dali-toolkit/internal/graphics/shaders/color-visual-shader.frag
dali-toolkit/internal/graphics/shaders/gradient-visual-shader.frag
dali-toolkit/internal/graphics/shaders/image-visual-shader.frag
dali-toolkit/internal/visuals/visual-base-impl.cpp