Commit Graph

3 Commits

Author SHA1 Message Date
Patrick Walton 097e909d07 In multicolor XCAA, cap the slope to a reasonable amount to prevent line segments from shooting way up or down 2017-12-19 13:47:57 -08:00
Patrick Walton ddd1c89294 Use one side for the X position in the multicolor MCAA vertex shader to avoid cracks 2017-12-19 10:54:30 -08:00
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