Patrick Walton
010bc66073
Upgrade `resvg` to 0.7
2019-06-20 17:13:15 -07:00
Patrick Walton
36db39883c
Add C bindings to the canvas text APIs
2019-06-20 16:07:38 -07:00
Patrick Walton
487577a11b
Add Metal support.
...
This commit substantially reworks the `pathfinder_gpu` API to better support
modern APIs like Metal. It should open the door to `gfx-rs`, `wgpu`, Vulkan,
and D3D12 backends relatively straightforwardly.
A new example, `canvas_metal_minimal`, has been added.
Note that the new Metal shaders require a patched version of `spirv-cross` to
build properly. An upstream patch is forthcoming.
2019-06-20 11:47:22 -07:00
Patrick Walton
5dfe14ebc4
Add a minimal `glutin` example
2019-06-12 10:50:24 -07:00
Patrick Walton
bc713a5181
Remove the rustache dependency.
...
1/3 reduction in binary size for `canvas_minimal`.
Closes #158 .
2019-05-26 13:02:52 -07:00
Patrick Walton
e04cc273ee
Add enough C bindings to recreate `canvas_minimal` in C.
...
Closes #12 .
2019-05-25 20:21:38 -07:00
Bastien Orivel
349c1a9cd0
Update quickcheck to 0.8
...
This dedupes some dependencies
2019-05-24 19:22:23 +02:00
Patrick Walton
8c4f05ce39
Initial rudimentary Lottie parsing code
2019-05-23 18:03:09 -07:00
Patrick Walton
7518fa65c0
Update dependencies
2019-05-13 18:47:19 -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
639a8f39e8
Add Moiré demo
2019-05-11 11:53:50 -07:00
Patrick Walton
a078766dc6
Implement basic text rendering in canvas with `skribo` and `font-kit`.
...
Skribo currently writes some debugging info to standard output. A patch is
forthcoming to fix that.
2019-05-09 15:21:18 -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
8606cd013e
Replace commented out printlns with proper debug statements
2019-04-29 16:43:24 -07:00
Patrick Walton
b85dc2f001
Add basic pinch zoom support on Android
2019-04-26 22:29:38 -07:00
Patrick Walton
6c31e1bc01
In VR mode, render one eye and then reproject to both eyes instead of rendering
...
twice.
This reduces both CPU and GPU time a lot in exchange for a small loss in
quality.
2019-04-26 17:22:54 -07:00
Alan Jeffrey
bc89d88222
Dead code elimination
2019-04-15 12:43:41 -04:00
Alan Jeffrey
4c1e532f7f
Regenerated Cargo.lock
2019-04-15 12:43:41 -04:00
Alan Jeffrey
685651c119
Wire up magicleap landscape demo cube faces to pathfinder demo
2019-04-15 12:43:41 -04:00
Patrick Walton
9e38da25e1
Remove the `TileObjectPrimitive` structure in favor of a flat list of
...
backdrops.
This reduces memory usage a bit and adds the infrastructure needed to support a
tile map.
2019-04-11 18:54:03 -07:00
Patrick Walton
3d4f8bd008
Pipeline between CPU and GPU at a more fine-grained level.
...
This makes us stop running one frame behind.
2019-04-09 17:06:43 -07:00
Patrick Walton
ae192ffee7
Add ARM SIMD
2019-03-28 19:26:47 -07:00
Patrick Walton
0458d9a7f2
Factor out bits of the postprocessing shader into includes
2019-03-18 21:40:10 -07:00
Patrick Walton
bb32777101
Initial work toward VR support
2019-03-14 14:42:22 -07:00
Patrick Walton
9c404dfdc1
Add an Android port
2019-03-12 13:55:26 -07:00
Patrick Walton
d1728dfe6d
Update the scalar SIMD fallback
2019-03-08 12:30:07 -08:00
Patrick Walton
a74c0abbec
Factor the SDL code out in preparation for other ports
2019-03-07 16:14:26 -08:00
Patrick Walton
40209b6fe8
Show a warning when unsupported SVG features are used
2019-03-06 18:25:08 -08:00
Patrick Walton
8dc3a84d09
Remove `tile-svg` and the serialization code.
...
They can be added later if needed, but for now they're just bitrotting.
2019-03-05 15:38:10 -08:00
Patrick Walton
33aa6f905d
Move UI event code and widgets to the `pathfinder_ui` crate
2019-03-05 15:36:07 -08:00
Patrick Walton
ad0691c146
Move the generic UI code in the renderer crate to a separate crate
2019-03-05 15:13:55 -08:00
Patrick Walton
f7a8b573ce
Move the GPU rendering code out of `pathfinder_gl`, since it's now no longer
...
OpenGL-specific
2019-03-05 14:46:18 -08:00
Patrick Walton
ae450b063e
WIP: Factor out GL code
2019-03-04 14:55:32 -08:00
Patrick Walton
64b480fe32
Some more work on the site
2019-03-01 14:58:02 -08:00
Patrick Walton
ac24b67300
Add a simple SVG-subset-to-Skia-code tool, for benchmarking
2019-02-25 15:06:33 -08:00
Patrick Walton
f6af769486
Add screenshot functionality.
2019-02-25 11:33:26 -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
d30743a69c
Begin refactoring the demo into a shared library and a platform-specific
...
entry point.
This will help the upcoming wasm port.
2019-02-15 18:21:46 -08:00
Patrick Walton
92421943fc
Open a file dialog when the user clicks on the open file
2019-02-08 21:08:03 -08:00
Patrick Walton
dbf880d011
Rename `demo3` to `demo`
2019-02-08 14:53:20 -08:00
Patrick Walton
fe410e066f
Add a SIMD rect type
2019-02-05 10:03:20 -08:00
Patrick Walton
0b0c913332
Split out SIMD into a separate crate
2019-02-01 11:48:10 -08:00
Patrick Walton
dd480feb52
Factor out the GL rendering code into a separate crate
2019-01-30 19:31:29 -08:00
Patrick Walton
b6432fa47d
Add basic timer query support.
...
Inaccurate on macOS.
2019-01-30 15:30:40 -08:00
Patrick Walton
d1ca5fe757
Use a much better technique for curve flattening
2019-01-28 20:36:06 -08:00
Patrick Walton
80db7155b8
wip
2019-01-25 17:07:37 -08:00
Patrick Walton
a4c2796883
Implement a third demo with native code, not working yet
2019-01-14 19:32:53 -08:00
Patrick Walton
821b54b8f4
Factor renderer and SVG code out into separate crates
2019-01-14 14:20:36 -08:00
Patrick Walton
f0353e07aa
Move outlines to the geometry crate
2019-01-14 10:59:48 -08:00
Patrick Walton
bbf193f00f
Remove simdeez
2019-01-12 17:13:58 -08:00
Patrick Walton
37e6e71251
Move the `Segment` type to the geometry crate
2019-01-11 15:50:09 -08:00
Patrick Walton
8ff3da8a68
Build outlines from segments; move SIMD points into `geometry`
2019-01-11 15:24:13 -08:00
Patrick Walton
3165a4a1b0
Remove old demo server; remove `SegmentFlags`
2019-01-10 20:43:03 -08:00
Patrick Walton
ffe9abba6b
Stop using Lyon's monotonic converter
2019-01-10 14:14:59 -08:00
Patrick Walton
adf49ab932
Rename `path-utils` to `geometry`
2019-01-10 10:01:21 -08:00
Patrick Walton
9f736338d7
Partially SIMD-ify `Point2D<f32>`
2019-01-04 09:54:41 -08:00
Patrick Walton
2109049269
Merge identical shaders into one
2019-01-03 20:03:25 -08:00
Patrick Walton
7af83c9ddf
Use resvg instead of hand-rolling SVG parsing
2019-01-03 13:57:14 -08:00
Patrick Walton
ad9da96336
Build objects in parallel!
2018-12-29 17:08:49 -08:00
Patrick Walton
6a2b488291
wip, now to work on the demo
2018-12-17 18:31:49 -08:00
Patrick Walton
7400f0acf3
Write a `.pf3` file
2018-12-17 14:07:19 -08:00
Patrick Walton
4b9e21c6a0
wip
2018-12-16 11:41:43 -08:00
Patrick Walton
a443e41909
Guard band clipping
2018-12-14 18:52:34 -08:00
Patrick Walton
689dfdadf9
wip
2018-12-14 14:33:33 -08:00
Patrick Walton
8f5eb1ca60
add strokes
2018-12-14 14:33:33 -08:00
Patrick Walton
dda3e16d2e
wip, too slow
2018-12-13 14:04:17 -08:00
Patrick Walton
4597414e21
Quickcheck intervals
2018-12-12 14:55:53 -08:00
Patrick Walton
b80e1ea38f
wip: parsing svgs
2018-12-11 16:38:06 -08:00
Patrick Walton
883ccceb2d
Update various dependencies
2018-09-19 20:03:33 -07:00
Patrick Walton
81c3f08a5c
Make macOS-only code conditionally compiled; update dependencies
2018-08-22 13:34:50 -07:00
Patrick Walton
c6cc6e6fd8
Remove `pathfinder_font_renderer` in favor of `font-kit`.
...
Closes #69 .
Closes #84 .
2018-08-02 15:07:25 -07:00
Bastien Orivel
9d19454c36
Update app_units 0.7
...
See ya num-traits 0.1 o/
2018-07-31 20:16:44 +02:00
Bastien Orivel
3cfd0a3126
Update image to 0.19
2018-07-31 20:16:00 +02:00
Paul Rouget
6d7dd604f8
Euclid and lyon updates
2018-07-27 11:40:45 +02:00
Patrick Walton
9b7da26d1e
Update `core-graphics` and `core-text`
2018-07-20 16:48:10 -07:00
Patrick Walton
673dd81fa7
Commit Cargo.lock to help keep things reproducible.
...
Closes #87 .
2018-07-18 08:30:01 -07:00