Patrick Walton
2fde232982
Factor the text paragraph rendering code out into a separate class so it
...
can be reused
2018-04-03 13:57:46 -07:00
Patrick Walton
6e13fb171c
Use a lookup table to do area calculations instead of Loop-Blinn-style
...
distance-to-edge for stencil analytic antialiasing.
This improves the rendering quality of stencil AAA significantly.
Additionally, this adds an approximation of Core Graphics' (macOS')
defringing filter.
Closes #73 .
2018-03-19 14:35:36 -07:00
Patrick Walton
64c818e530
Construct meshes independently of mesh libraries (renamed to "mesh
...
packs").
This fits in better with the way WebRender does things. It simplifies
the code too.
2018-03-08 15:10:29 -08:00
Patrick Walton
dfcbd9dddd
Remove the unused `usesSTTransform`
2018-02-21 16:38:09 -08:00
Patrick Walton
82be5d12d1
Update dependencies and fix TypeScript build failures.
...
Closes #68 .
2018-02-19 11:52:00 -08:00
Patrick Walton
a84b7c7cbd
Replace ECAA with "Stencil AAA", a distance-based antialiasing
...
technique similar to the new MCAA.
This new technique simplifies the code significantly by unifying lines,
curves, and transformed curves. Blog posts forthcoming.
2018-02-17 10:45:25 -08:00
Patrick Walton
11913a20f1
Merge MCAA monochrome and multicolor shaders.
...
Not only is this a lot simpler, it's faster too!
2018-01-03 15:22:28 -08:00
Patrick Walton
80c0d07f1a
Revert refactoring of Renderer into BaseRenderer.
...
It's not needed.
2017-12-05 19:08:31 -08:00
Patrick Walton
30893fb9ad
Partially implement benchmarking for SVG.
2017-12-05 19:05:23 -08:00
Patrick Walton
30062aea81
Expose emboldening in the demo UI
2017-12-03 17:28:30 -08:00
Patrick Walton
1de0378f1e
Get rotation working in the text demo.
...
There are some known artefacts when zoomed in heavily in XCAA mode.
2017-11-30 16:08:15 -08:00
Patrick Walton
95a1dd0195
Eliminate the distinction between layout and display pixels per unit
2017-11-30 09:51:07 -08:00
Patrick Walton
86660572bd
Upgrade ST-transforms to affine transforms where possible, and add
...
incomplete rotation support to the text demo
2017-11-29 17:06:52 -08:00
Patrick Walton
86df78f939
Flesh out the integration test more
2017-11-17 17:06:59 -08:00
Patrick Walton
2f7205bd22
Improve the stem darkening vertical extents preservation hack
2017-11-10 08:40:31 -08:00
Patrick Walton
a73fb9ab8d
Try to align glyphs on their baselines after stem darkening
2017-11-10 08:16:27 -08:00
Patrick Walton
4cbc2a8800
Add partial support for clip paths in the SVG demo.
...
At the moment, this only works when antialiasing is off.
2017-11-03 14:14:29 -07:00
Patrick Walton
579528ebdc
Remove one direct rendering pass from the multicolor XCAA path
2017-10-31 12:41:38 -07:00
Patrick Walton
2604151521
Replace the multicolor (SVG) XCAA with a multipass compositing algorithm
2017-10-30 15:28:35 -07:00
Patrick Walton
0506365cc7
Fix blending in the text demo.
...
As a nice added cleanup, this commit standardizes on the red channel for
all monochrome textures.
2017-10-26 20:15:51 -07:00
Patrick Walton
9d93cebca6
Stop using multiple render targets.
...
We don't need them anymore, so let's lower our hardware requirements!
2017-10-20 22:04:53 -07:00
Patrick Walton
70201bb29c
Draw distant glyphs as prerendered images in the 3D demo.
...
This has known performance problems, but it's a good first cut.
2017-10-18 16:19:19 -07:00
Patrick Walton
024b00e479
Decouple text renderers from the text demo's layout
2017-10-17 13:37:36 -07:00
Patrick Walton
32de1d3441
Decouple text renderers from HTML canvas elements.
...
This allows for offscreen rendering of text.
2017-10-17 12:10:20 -07:00
Patrick Walton
562851fd6e
Lint against long lines
2017-10-17 11:58:03 -07:00
Patrick Walton
9278a4e0e3
Move the text rendering and atlas code out of the text demo so that it
...
can be reused elsewhere
2017-10-17 11:54:13 -07:00