Commit Graph

31 Commits

Author SHA1 Message Date
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 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 197f01d56a Write in the line segment intersection code in matrix form 2019-05-21 14:51:50 -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 0da11ffe01 Run `rustfmt` on the geometry crate 2019-04-29 16:46:35 -07:00
Patrick Walton c688d04412 Remove the scene assembly thread, and pipeline only fills instead of alpha
tiles.

Removing a thread should make it easier to manually assign threads to CPUs, as
is necessary on devices with poor schedulers like Magic Leap 1.
2019-04-18 13:50:26 -07:00
Patrick Walton 224c8e85b9 Create separate shaders for monochrome and multicolor tiles.
This is preparation for fixing subpixel AA.
2019-03-22 14:28:31 -07:00
Patrick Walton 26fea26f87 Allow construction of a `Transform3DF32` from a quaternion describing a
rotation.

Closes #111.
2019-03-20 16:27:28 -07:00
Alan Jeffrey 1769246e5a Add Perspective::post_mul 2019-03-20 13:59:55 -05:00
Patrick Walton e212a839b4 Get device orientation changes partially working 2019-03-14 19:13:27 -07:00
Patrick Walton 6062676d0e Add tooltips to the buttons in the demo 2019-03-06 11:33:59 -08:00
Patrick Walton 4dff13ef00 Use an advancing cursor when laying out UI elements 2019-03-06 10:47:52 -08:00
Patrick Walton bc80490158 Remove raw GL code from the demo 2019-03-05 13:57:28 -08:00
Patrick Walton ae450b063e WIP: Factor out GL code 2019-03-04 14:55:32 -08:00
Patrick Walton fc62e9bc71 Subdivide offset curves to an error bound. 2019-02-20 18:27:27 -08:00
Patrick Walton 3a8478a048 Remove all Lyon dependencies.
We may want to re-merge at a later date, but for now all relevant algorithms
have been appropriately SIMD-ified.
2019-02-20 16:46:50 -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 9af3bac11f Implement depth interpolation, not working yet 2019-02-18 13:42:30 -08:00
Patrick Walton e4803cfddf Add some ground to the 3D scene, no depth buffer yet 2019-02-14 18:53:02 -08:00
Patrick Walton 0983812b90 Rotate and scale around the appropriate points in the demo 2019-02-13 16:05:28 -08:00
Patrick Walton d7f6d9eb3d Allow the canvas to be dragged in 2D mode 2019-02-12 14:49:24 -08:00
Patrick Walton 725834285b Refactor the demo a bit 2019-02-08 15:16:53 -08:00
Patrick Walton a8cc87bfd7 Make the effects window togglable 2019-02-07 16:38:24 -08:00
Patrick Walton c9a80304dc Add some more (non-functional) UI widgets to the demo 2019-02-07 14:07:05 -08:00
Patrick Walton a81850a899 Add window resizing support to the demo 2019-02-06 18:09:37 -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 3d0463999c Add a SIMD integer rect type 2019-02-05 10:55:01 -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