X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fgraphics%2Fshaders%2Fcolor-visual-shader.frag;h=662121e1b17ea344c1780178810180655e335b7d;hp=76039822db8994dc2b48849dbbe2ca0153f85cfa;hb=fc46ca46ea867895ec0de5d59c4250bc85aa7bc8;hpb=905bc5519245079bfbf1cfd30fa224095fa12375 diff --git a/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag index 7603982..662121e 100644 --- a/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/color-visual-shader.frag @@ -71,7 +71,8 @@ void calculatePotential() void setupMinMaxPotential() { - gPotentialRange = 1.0; + // Set soft anti-alias range at most 2% of visual size + gPotentialRange = min(1.0, max(vRectSize.x, vRectSize.y) * 0.02); gMaxOutlinePotential = gRadius + gPotentialRange; gMinOutlinePotential = gRadius - gPotentialRange; @@ -118,7 +119,7 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) borderlineOpacity = smoothstep(gMinInlinePotential, gMaxInlinePotential, potential); // Muliply borderlineWidth to resolve very thin borderline - borderlineOpacity *= min(1.0, borderlineWidth); + borderlineOpacity *= min(1.0, borderlineWidth / gPotentialRange); } lowp vec3 borderlineColorRGB = borderlineColor.rgb * uActorColor.rgb; @@ -130,7 +131,7 @@ lowp vec4 convertBorderlineColor(lowp vec4 textureColor) // But if borderlineOpacity > 0.0 and borderlineColor.a == 0.0, we need to apply tCornerRadius. if(borderlineOpacity > 0.0 && borderlineColor.a * borderlineOpacity < 1.0) { - mediump float tCornerRadius = -gCenterPosition; + mediump float tCornerRadius = -gCenterPosition + gPotentialRange; mediump float MaxTexturelinePotential = tCornerRadius + gPotentialRange; mediump float MinTexturelinePotential = tCornerRadius - gPotentialRange; if(potential > MaxTexturelinePotential)