pathfinder/shaders/gles2
Patrick Walton cfe72f486e Use a single-pass pixel-snapping MCAA algorithm instead of a multipass
ECAA algorithm for multicolor SVG.

This is much faster than both Skia and the previous XCAA algorithm
while maintaining slightly higher quality than the latter.

There are a couple of known issues:

* Vertical inflection points of hairlines with very steep slopes can
  become very light or even drop out occasionally. I suspect this is due
  to floating point error.

* Rarely, single columns of pixels can disappear from a mesh. Cause TBD.

Besides these bugs, this technique can be cleaned up and probably made
faster, but it's a sizable improvement as is.
2017-12-18 17:37:14 -08:00
..
blit-gamma.fs.glsl Use the LUT to gamma correct text, and fix stem darkening math 2017-11-07 17:24:19 -08:00
blit-linear.fs.glsl Use the LUT to gamma correct text, and fix stem darkening math 2017-11-07 17:24:19 -08:00
blit.vs.glsl Do some work on shader documentation 2017-10-26 20:30:47 -07:00
common.inc.glsl Use a single-pass pixel-snapping MCAA algorithm instead of a multipass 2017-12-18 17:37:14 -08:00
composite-alpha-mask.fs.glsl Add partial support for clip paths in the SVG demo. 2017-11-03 14:14:29 -07:00
composite-alpha-mask.vs.glsl Add partial support for clip paths in the SVG demo. 2017-11-03 14:14:29 -07:00
demo-3d-distant-glyph.fs.glsl Fix blending in the text demo. 2017-10-26 20:15:51 -07:00
demo-3d-distant-glyph.vs.glsl Draw distant glyphs as prerendered images in the 3D demo. 2017-10-18 16:19:19 -07:00
demo-3d-monument.fs.glsl Add some basic Phong shading to the monument 2017-11-03 18:49:25 -07:00
demo-3d-monument.vs.glsl Add some basic Phong shading to the monument 2017-11-03 18:49:25 -07:00
direct-3d-curve.vs.glsl Upgrade ST-transforms to affine transforms where possible, and add 2017-11-29 17:06:52 -08:00
direct-3d-interior.vs.glsl Upgrade ST-transforms to affine transforms where possible, and add 2017-11-29 17:06:52 -08:00
direct-curve.fs.glsl Stop using multiple render targets. 2017-10-20 22:04:53 -07:00
direct-curve.vs.glsl Upgrade ST-transforms to affine transforms where possible, and add 2017-11-29 17:06:52 -08:00
direct-interior.fs.glsl Stop using multiple render targets. 2017-10-20 22:04:53 -07:00
direct-interior.vs.glsl Upgrade ST-transforms to affine transforms where possible, and add 2017-11-29 17:06:52 -08:00
ecaa-curve.vs.glsl Pack left and right normal angles into one vec2 in `computeECAAQuadPosition` 2017-12-02 13:21:13 -08:00
ecaa-line.vs.glsl Pack left and right normal angles into one vec2 in `computeECAAQuadPosition` 2017-12-02 13:21:13 -08:00
ecaa-transformed-curve.vs.glsl Fix rotation artefacts by rendering curves in two passes, clipping at X 2017-12-03 16:59:35 -08:00
mcaa-cover.fs.glsl Implement stem darkening and split ECAA into ECAA and MCAA. 2017-10-15 13:28:49 -07:00
mcaa-cover.vs.glsl Refactor the XCAA vertex shaders themselves, now that the common XCAA 2017-12-02 13:14:01 -08:00
mcaa-curve.vs.glsl Refactor the XCAA vertex shaders themselves, now that the common XCAA 2017-12-02 13:14:01 -08:00
mcaa-line.vs.glsl Upgrade ST-transforms to affine transforms where possible, and add 2017-11-29 17:06:52 -08:00
mcaa-multi.fs.glsl Use a single-pass pixel-snapping MCAA algorithm instead of a multipass 2017-12-18 17:37:14 -08:00
mcaa-multi.vs.glsl Use a single-pass pixel-snapping MCAA algorithm instead of a multipass 2017-12-18 17:37:14 -08:00
ssaa-subpixel-resolve.fs.glsl Flesh out the integration test more 2017-11-17 17:06:59 -08:00
xcaa-curve.fs.glsl Don't clip curves to the left and right sides of the pixel column twice 2017-11-21 15:51:27 -08:00
xcaa-line.fs.glsl Don't clip curves to the left and right sides of the pixel column twice 2017-11-21 15:51:27 -08:00
xcaa-mono-resolve.fs.glsl Fix blending in the text demo. 2017-10-26 20:15:51 -07:00
xcaa-mono-resolve.vs.glsl Implement stem darkening and split ECAA into ECAA and MCAA. 2017-10-15 13:28:49 -07:00
xcaa-mono-subpixel-resolve.fs.glsl Implement stem darkening and split ECAA into ECAA and MCAA. 2017-10-15 13:28:49 -07:00
xcaa-mono-subpixel-resolve.vs.glsl Implement stem darkening and split ECAA into ECAA and MCAA. 2017-10-15 13:28:49 -07:00