Patrick Walton
|
712c69faf1
|
Precompute the curve for a quarter-circle arc
|
2019-05-30 21:20:32 -07:00 |
Patrick Walton
|
9756aa89f9
|
Base the core arc primitive on a unit chord and transform.
This lets us handle ellipses better.
|
2019-05-30 17:19:21 -07:00 |
Patrick Walton
|
ce127caf76
|
Fix drawing of full circles
|
2019-05-30 10:56:19 -07:00 |
Patrick Walton
|
d5ba6ab6da
|
Change the core arc primitive to chord and radius, not chord and center.
This makes it harder to call the function with illegal arguments and simplifies
the join/cap code.
|
2019-05-30 10:17:17 -07:00 |
Patrick Walton
|
e1bcc11ace
|
Change the `F32` and `I32` suffixes to `F` and `I` to match the C API.
They're shorter and less noisy.
|
2019-05-29 19:17:16 -07:00 |
Patrick Walton
|
a75b635722
|
Implement round joins
|
2019-05-29 19:09:15 -07:00 |
Patrick Walton
|
5133bbfe1a
|
Use unit vectors instead of angles for arcs.
This makes things faster and will also simplify the implementation of round
joins.
|
2019-05-29 12:14:47 -07:00 |
Patrick Walton
|
cd23d62f3d
|
Fix off-by-epsilon error in `push_arc` that was breaking the Moiré demo
|
2019-05-21 20:24:04 -07:00 |
Patrick Walton
|
2131724a2a
|
Implement round line caps
|
2019-05-21 20:21:46 -07:00 |
Patrick Walton
|
272b63a017
|
Implement square line caps
|
2019-05-16 10:43:43 -07:00 |
Patrick Walton
|
c7382a8b2c
|
Add affine transform support to the canvas implementation
|
2019-05-13 18:40:25 -07:00 |
Patrick Walton
|
89ca998fa8
|
Add a convenience method for creating a scene proxy with an empty scene.
This makes animation rendering loops a bit easier for users.
|
2019-05-13 18:29:57 -07:00 |
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 |