diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-08-06 08:10:21 +0200 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-08-10 07:42:14 +0200 |
commit | d145f8454991122d00e73883b96fa9499ef66fbb (patch) | |
tree | 54b0ae73e0ec32824fd0236538d1ae5c8bc91c16 /src/quick/scenegraph | |
parent | 2bb425bf26100971af7ec04ba4c95b9bc7dbc2e3 (diff) |
Fix regression on antialiasing on outlined text for 3D render mode
4da53ed1d6433730d0604b948ba3b5abeabd1eb0 fixed a regression on antialiasing
in outlined text, but neglected to include the _fwidth versions of the
shaders.
Task-number: QTBUG-85514
Change-Id: If8bae04b680044b92c983776be6ceedd0c96f547
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/quick/scenegraph')
-rw-r--r-- | src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag | 2 | ||||
-rw-r--r-- | src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb | bin | 2455 -> 2544 bytes | |||
-rw-r--r-- | src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag | 2 | ||||
-rw-r--r-- | src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb | bin | 2458 -> 2539 bytes |
4 files changed, 2 insertions, 2 deletions
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag index 582aff5f92..30ec465791 100644 --- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag +++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag @@ -27,5 +27,5 @@ void main() float outlineLimit = (ubuf.outlineAlphaMax1 - ubuf.outlineAlphaMax0) / 2.0 + ubuf.outlineAlphaMax0; float a = smoothstep(max(0.0, 0.5 - f), min(1.0, 0.5 + f), distance); - fragColor = (1.0 - a) * ubuf.styleColor * smoothstep(max(0.0, outlineLimit - f), min(outlineLimit + f, 0.5 - f), distance); + fragColor = step(1.0 - a, 1.0) * mix(ubuf.styleColor, ubuf.color, a) * smoothstep(max(0.0, outlineLimit - f), min(outlineLimit + f, 0.5 - f), distance); } diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb Binary files differindex 3a0299dd38..02a78a8ca9 100644 --- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb +++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag index 474271b36f..511bffb09a 100644 --- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag +++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag @@ -27,5 +27,5 @@ void main() float outlineLimit = (ubuf.outlineAlphaMax1 - ubuf.outlineAlphaMax0) / 2.0 + ubuf.outlineAlphaMax0; float a = smoothstep(max(0.0, 0.5 - f), min(1.0, 0.5 + f), distance); - fragColor = (1.0 - a) * ubuf.styleColor * smoothstep(max(0.0, outlineLimit - f), min(outlineLimit + f, 0.5 - f), distance); + fragColor = step(1.0 - a, 1.0) * mix(ubuf.styleColor, ubuf.color, a) * smoothstep(max(0.0, outlineLimit - f), min(outlineLimit + f, 0.5 - f), distance); } diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb Binary files differindex a400bd8fc0..b3fca6f785 100644 --- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb +++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb |