Commit Graph

34 Commits

Author SHA1 Message Date
Patrick Walton f24d93819b Add arc building methods and switch the Moiré demo to use them.
Also, stop taking points by reference in many methods, for consistency.
2019-05-13 12:42:13 -07:00
Patrick Walton 3310b15826 Fall back to Newton's method instead of dividing by zero when finding critical
points during curve monotonic conversion.

Closes #146.
2019-05-08 17:51:12 -07:00
Patrick Walton 5568e6f64f Remove unused `monotonic` module 2019-05-08 13:37:17 -07:00
Patrick Walton 9de7d95d33 Start a simple HTML canvas-like API, and add a minimal example to show how to
use it.
2019-05-03 14:15:38 -07:00
Patrick Walton 0da11ffe01 Run `rustfmt` on the geometry crate 2019-04-29 16:46:35 -07:00
Patrick Walton d06746f28d Remove barrel distortion.
It was a toy implementation and isn't the approach I want to go with.
2019-04-29 16:05:42 -07:00
Patrick Walton 6ca5dc5f62 Add basic barrel distortion support for VR 2019-03-20 13:41:04 -07:00
Patrick Walton 1e3298fdb7 Switch to guard-band style clipping to eliminate artefacts 2019-02-22 13:15:00 -08:00
Patrick Walton 23943c7428 Add a flag to specify whether contours are closed 2019-02-20 16:32:40 -08:00
Patrick Walton b9e3952246 Reimplement segment offsetting 2019-02-20 16:21:58 -08:00
Patrick Walton d75ed71af4 WIP before moving to a segment basis 2019-02-20 12:41:43 -08:00
Patrick Walton f04c000cae Add a quick check to skip clipping when an outline is entirely inside or
outside the clip area
2019-02-09 19:24:30 -08:00
Patrick Walton 27e47b4c39 wip 2019-02-06 13:12:53 -08:00
Patrick Walton 8771dd6789 wip: dilation not working yet 2019-02-05 20:10:20 -08:00
Patrick Walton 45dec44a53 wip 2019-02-05 13:21:33 -08:00
Patrick Walton fe410e066f Add a SIMD rect type 2019-02-05 10:03:20 -08:00
Patrick Walton 63b47f1abe Move basic geometry primitives to the `pathfinder_geometry::basic` module 2019-02-04 20:20:32 -08:00
Patrick Walton f25682f0f1 Add a defringing shader for subpixel antialiasing, untested as of yet 2019-02-04 16:04:13 -08:00
Patrick Walton f19757e4cf Add a fast path for monotonic conversion 2019-02-02 11:12:54 -08:00
Patrick Walton 70e615205e Optimize monotonic conversion a little bit 2019-02-01 19:10:42 -08:00
Patrick Walton d08ff40cdf Add a fast AABB check to the rect clipper 2019-02-01 17:57:26 -08:00
Patrick Walton 4c5e351829 Use a fast path for axis aligned clipping 2019-02-01 17:49:03 -08:00
Patrick Walton 805f0c9fa7 Trait-ify the 2D clipper 2019-02-01 17:27:23 -08:00
Patrick Walton 4801503dd8 Fix curve/edge intersection logic in clipping 2019-01-31 10:12:37 -08:00
Patrick Walton e3bf703105 Stop using 100% CPU; fix bug when splitting line segments at Y extrema 2019-01-29 15:35:07 -08:00
Patrick Walton e958363872 Allow scenes to be dumped as SVG (untested) and make 3D mode optional in the demo 2019-01-29 14:50:15 -08:00
Patrick Walton 80db7155b8 wip 2019-01-25 17:07:37 -08:00
Patrick Walton 938bd30a78 wip 2019-01-25 14:28:53 -08:00
Patrick Walton 3ce60afb44 Fix clipping 2019-01-22 11:46:01 -08:00
Patrick Walton 93ae7d3548 Basic perspective support 2019-01-16 16:53:10 -08:00
Patrick Walton 3c3c3a5062 Basic monotonic conversion on transform 2019-01-15 14:21:37 -08:00
Patrick Walton 02928f295d Basic rect clipping 2019-01-15 13:49:26 -08:00
Patrick Walton 0097ffab19 wip 2019-01-15 11:42:25 -08:00
Patrick Walton f0353e07aa Move outlines to the geometry crate 2019-01-14 10:59:48 -08:00