Commit Graph

8 Commits

Author SHA1 Message Date
Patrick Walton 88f1d3f108 Fix de Casteljau subdivision when a curve has two inflection points 2017-09-22 13:40:41 -07:00
Patrick Walton be1b100826 Split B-quads whose curves' convex hulls intersect in most cases.
Avoids some rendering artefacts with Loop-Blinn, improving the tiger.
2017-09-21 22:47:00 -07:00
Patrick Walton 4ac11e9010 Switch to a more robust intersection algorithm based on implicitization 2017-09-20 21:23:56 -07:00
Patrick Walton d644f1b6a6 Implement curve-curve and curve-line intersection, untested as of yet 2017-09-18 21:00:34 -07:00
Patrick Walton a7d75f913c Split paths into monotonic segments before partitioning them in the demo 2017-09-12 09:35:57 -07:00
Patrick Walton c3e02d6faa Add a streaming API for monotonic path conversion, untested as of yet 2017-09-11 22:28:14 -07:00
Patrick Walton c36896e337 Implement path stroking using the FreeType stroker.
I'm not too happy with this, as I discovered a segfault in FreeType that doesn't give me confidence
in this as a solution for the long term. Additionally, this exposes the problems in the partitioner
with lack of winding fill rule, proper handling of self-intersections, and splitting of paths at
their extrema. (I believe these problems should be fairly straightforward to handle, but we just
don't handle them yet.)
2017-09-08 16:50:27 -07:00
Patrick Walton 3e5b53f13c Partially refactor the path APIs to be streaming, like Lyon 2017-09-08 13:09:00 -07:00