Patrick Walton
|
1459267292
|
Make benchmark sizes more sensible for SVG
|
2017-12-06 10:58:16 -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
|
f5a7032ca5
|
Merge pull request #55 from trishume/fix-51
Fixes #51 by introducing a variable for an early return boolean.
|
2017-12-05 18:51:49 -08:00 |
Tristan Hume
|
dd934211af
|
Fixes #51 by introducing a variable for an early return boolean.
This works around a bug in the macOS Nvidia shader compiler
in 2014 rMBPs.
|
2017-12-05 21:09:58 -05:00 |
Patrick Walton
|
d0d08816b9
|
Factor the SVG renderer out of the demo so it can be reused
|
2017-12-05 11:23:13 -08:00 |
Patrick Walton
|
15d8c98ff9
|
Fix a bug preventing the benchmark from running, and improve its UI
|
2017-12-04 22:02:16 -08:00 |
Patrick Walton
|
ac95b04061
|
Fix accidental `x`/`y` swap in the ECAA multi edge mask curve shader
|
2017-12-04 11:55:47 -08:00 |
Patrick Walton
|
bc863e3ed3
|
Remove commented out code
|
2017-12-04 11:55:37 -08:00 |
Patrick Walton
|
30062aea81
|
Expose emboldening in the demo UI
|
2017-12-03 17:28:30 -08:00 |
Patrick Walton
|
9b59ce2443
|
Fix rotation artefacts by rendering curves in two passes, clipping at X
inflection points as necessary.
|
2017-12-03 16:59:35 -08:00 |
Patrick Walton
|
801c25305f
|
Pack left and right normal angles into one vec2 in `computeECAAQuadPosition`
|
2017-12-02 13:21:13 -08:00 |
Patrick Walton
|
7e0d003a95
|
Refactor the XCAA vertex shaders themselves, now that the common XCAA
infrastructure has been refactored
|
2017-12-02 13:14:01 -08:00 |
Patrick Walton
|
dc5e3a0093
|
Refactor the XCAA shaders some more
|
2017-12-02 13:05:11 -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
|
58260beb8c
|
Only run the ECAA mask shader on edge pixels
|
2017-11-28 17:05:59 -08:00 |
Patrick Walton
|
6942bb51ca
|
Add support for full 3D transforms, including rotation, to SVG in XCAA mode.
|
2017-11-28 16:15:06 -08:00 |
Patrick Walton
|
0e9144286e
|
Fix the calculation of `dP` in the XCAA multicolor edge mask.
|
2017-11-27 15:43:47 -08:00 |
Patrick Walton
|
6e70b983c3
|
Remove incorrect commented-out shader code
|
2017-11-21 15:54:18 -08:00 |
Patrick Walton
|
7bd3a48110
|
Don't clip curves to the left and right sides of the pixel column twice
|
2017-11-21 15:51:27 -08:00 |
Patrick Walton
|
6d85cb3382
|
Rename the integration test to the reference test to be more specific
|
2017-11-20 17:18:30 -08:00 |
Patrick Walton
|
99c7e685e7
|
Rebuild the layout when new text is entered in the text demo
|
2017-11-20 17:09:39 -08:00 |
Patrick Walton
|
8c89ef9938
|
Make sure the gamma LUT loads before the initial render
|
2017-11-20 16:47:52 -08:00 |
Patrick Walton
|
5a1e4d4e60
|
Fix rendering of glyphs in the 3D demo
|
2017-11-20 16:25:57 -08:00 |
Patrick Walton
|
529a3eae23
|
Add rotation support for SSAA in SVG; switch to Material Design icons
|
2017-11-20 15:32:02 -08:00 |
Patrick Walton
|
b005e6d165
|
Improve the layout of the integration test a bit
|
2017-11-17 17:29:18 -08:00 |
Patrick Walton
|
3388b38e3b
|
Try to fix #50 by inserting an "as any"
|
2017-11-17 17:10:05 -08:00 |
Patrick Walton
|
86df78f939
|
Flesh out the integration test more
|
2017-11-17 17:06:59 -08:00 |
Patrick Walton
|
8c1b3e9cb5
|
Optimize and better document the exact antialiasing calculation
|
2017-11-14 18:02:26 -08:00 |
Patrick Walton
|
ca0387d355
|
Get reference and rendered glyphs displaying side-by-side in the integration test
|
2017-11-13 20:42:07 -08:00 |
Patrick Walton
|
2578298198
|
More work on the integration test
|
2017-11-13 17:23:03 -08:00 |
Patrick Walton
|
9dda148b38
|
Fix some bugs in Core Graphics native rendering
|
2017-11-13 17:22:35 -08:00 |
Patrick Walton
|
0642e65c9d
|
Stub integration test functionality some more
|
2017-11-13 15:26:46 -08:00 |
Patrick Walton
|
bc99fdf02b
|
Enable early Z in the XCAA multicolor direct interior pass
|
2017-11-11 14:45:28 -08:00 |
Patrick Walton
|
2975038891
|
Reenable early Z.
It regressed again!
|
2017-11-11 14:04:57 -08:00 |
Patrick Walton
|
2e90b3bce8
|
Multiply stem darkening amounts by sqrt(2).
This compensates for the fact that macOS dilation is relative to the pixel square, while our dilation is relative to each vertex normal.
|
2017-11-11 11:29:52 -08:00 |
Patrick Walton
|
ceb9d2bb80
|
Tweak the max stem darkening ppem to avoid a "pop" when zooming
|
2017-11-11 09:41:21 -08:00 |
Patrick Walton
|
d90d3af21b
|
Fix swapped min/max stem darkening amounts
|
2017-11-11 09:38:28 -08:00 |
Patrick Walton
|
575d4c2366
|
Fix regression involving NaN when doing curve clipping
|
2017-11-11 09:38:06 -08:00 |
Patrick Walton
|
37cdc9bc5c
|
Optimize the signed area calculation
|
2017-11-10 23:09:54 -08:00 |
Patrick Walton
|
1f5dbe33e8
|
Apply optimizations to the multi-edge mask shader too
|
2017-11-10 22:09:29 -08:00 |
Patrick Walton
|
fc2ac12fc0
|
Optimize the XCAA fragment shaders a bit
|
2017-11-10 19:25:47 -08:00 |
Patrick Walton
|
c9948a844d
|
Render reference images on the server, untested as of yet
|
2017-11-10 17:04:59 -08:00 |
Patrick Walton
|
75474b19e6
|
Add the normal angle to the shaders used in the 3D demo
|
2017-11-10 15:03:43 -08:00 |
Patrick Walton
|
932fc64524
|
Stub an integration test page
|
2017-11-10 13:58:07 -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
|
f2d5ced933
|
Describe how to adjust the JSON size limit when running the server.
Closes #41.
|
2017-11-09 18:55:41 -08:00 |
Patrick Walton
|
3bcd05a5ed
|
Update the XCAA multi direct shaders to support normals.
Fixes XCAA in the SVG demo.
|
2017-11-09 16:42:53 -08:00 |
Patrick Walton
|
8e7eb6ca60
|
Support stem darkening in SSAA mode.
The normals are incorrect right now in some cases, but it looks OK-ish.
|
2017-11-09 16:20:15 -08:00 |
Patrick Walton
|
35e59b1a05
|
Fix MCAA in the text demo.
The B-quad ranges were not being expanded properly.
|
2017-11-08 20:58:22 -08:00 |
Patrick Walton
|
9a5728aab6
|
Implement clipping in XCAA mode
|
2017-11-08 16:45:30 -08:00 |
Patrick Walton
|
941223c7d4
|
Update the README a bit
|
2017-11-07 17:42:42 -08:00 |
Patrick Walton
|
997e9b852a
|
Round x-heights naturally instead of rounding up.
I think this matches what macOS does.
|
2017-11-07 17:39:29 -08:00 |
Patrick Walton
|
e5b76726d9
|
Use the LUT to gamma correct text, and fix stem darkening math
|
2017-11-07 17:24:19 -08:00 |
Patrick Walton
|
82fd214a76
|
Load the gamma LUT in the demo
|
2017-11-07 14:13:13 -08:00 |
Patrick Walton
|
0a5f4c65df
|
Add a prebuilt gamma LUT
|
2017-11-07 11:56:04 -08:00 |
Patrick Walton
|
556bb2ce84
|
Add `gamma_lut` from WebRender
|
2017-11-06 20:41:13 -08:00 |
Patrick Walton
|
8897145f54
|
Add a simple command-line frontend for use as part of a build process
|
2017-11-06 13:28:32 -08:00 |
Patrick Walton
|
8a1e3bc8b2
|
Add some basic Phong shading to the monument
|
2017-11-03 18:49:25 -07:00 |
Patrick Walton
|
1e446f816f
|
Add basic clip path support when rendering with SSAA
|
2017-11-03 14:29:31 -07: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
|
511e5956d8
|
Don't clear away the scenery after drawing it!
Fixes the 3D view.
|
2017-11-02 16:17:35 -07:00 |
Patrick Walton
|
572b7cdd4a
|
Encode path IDs using a sparse representation, not a dense one.
This reduces the size of serialized mesh libraries. It also makes it
much easier to expand meshes and select individual paths for rendering.
|
2017-11-02 16:08:31 -07:00 |
Patrick Walton
|
c767141169
|
Build render tasks for clips.
This doesn't actually clip anything yet, but it's a step in that direction.
|
2017-10-31 17:04:06 -07:00 |
Patrick Walton
|
b9f6f13cec
|
Stop going to the DOM every time we need the color of an SVG path
|
2017-10-31 14:50:15 -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
|
d65bfb7fb2
|
Show compositing time in the SVG demo
|
2017-10-31 12:35:24 -07:00 |
Patrick Walton
|
dc6bdda7ff
|
Implement basic native FreeType glyph rendering, untested as of yet
|
2017-10-31 11:26:14 -07:00 |
Patrick Walton
|
ce91d0490a
|
Merge pull request #46 from mbebenita/watch
Automatically rebuild in the background.
|
2017-10-30 18:07:56 -07:00 |
Michael Bebenita
|
2e3451d9da
|
Automatically rebuild in the background.
|
2017-10-30 16:24:12 -07:00 |
Patrick Walton
|
a6582aefb3
|
Merge pull request #45 from mbebenita/toggle
Mesh Debugger Improvements
|
2017-10-30 15:31:36 -07:00 |
Patrick Walton
|
2717ac12cc
|
Merge pull request #44 from mbebenita/zoom
Cursor fixes.
|
2017-10-30 15:31:27 -07:00 |
Patrick Walton
|
2604151521
|
Replace the multicolor (SVG) XCAA with a multipass compositing algorithm
|
2017-10-30 15:28:35 -07:00 |
Michael Bebenita
|
55f964001b
|
Toggle layers in mesh debugger.
Also, stroke and fill vertices after drawing lines.
|
2017-10-29 16:25:50 -07:00 |
Michael Bebenita
|
45755816c8
|
Draw segment hull.
|
2017-10-29 15:13:55 -07:00 |
Michael Bebenita
|
a7056460d0
|
Fix cursor icon in Chrome.
|
2017-10-29 14:46:33 -07:00 |
Michael Bebenita
|
6fbfa60f68
|
Fix grabbing cursor on mesh debugger.
|
2017-10-29 14:46:21 -07:00 |
Patrick Walton
|
b87d4126b0
|
Merge pull request #42 from Bobo1239/master
Make tests compile again (but not pass)
|
2017-10-27 23:26:27 -07:00 |
Boris-Chengbiao Zhou
|
90144e6755
|
Make tests compile again (but not pass)
|
2017-10-28 04:16:54 +02:00 |
Patrick Walton
|
bf3779bf89
|
Calculate normals for B-vertices.
I'm planning to use this for fixing hairlines in XCAA.
|
2017-10-27 15:12:33 -07:00 |
Patrick Walton
|
e4b531f3a0
|
Do some work on shader documentation
|
2017-10-26 20:30:47 -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
|
77fa297380
|
Change the animated zoom icon to a play icon
|
2017-10-26 18:15:28 -07:00 |
Patrick Walton
|
591e6b780c
|
Merge pull request #40 from mbebenita/pulse
Zoom Pulse Mode
|
2017-10-26 17:57:33 -07:00 |
Patrick Walton
|
775ee2b526
|
Add basic native rasterization for Core Graphics and match the WebRender
`FontContext` API more
|
2017-10-26 17:55:17 -07:00 |
Michael Bebenita
|
70390915ab
|
Add Pulse Zoom button.
|
2017-10-26 11:32:30 -07:00 |
Patrick Walton
|
f8c950d39a
|
Stop calling `getParameter` and `getBufferParameter`.
They're incredibly slow in Chrome.
|
2017-10-25 19:38:41 -07:00 |
Patrick Walton
|
77f135a4ba
|
Fix memory safety problem resulting in missing glyphs on macOS
|
2017-10-25 17:02:57 -07:00 |
Patrick Walton
|
0b179f3a40
|
Add preliminary DirectWrite support on Windows.
This will eventually need to call into GDI to do hinting, but it's good
enough for now.
|
2017-10-25 13:01:36 -07:00 |
Patrick Walton
|
1c693d5029
|
Approximate cubic curves with quadratics in the Core Graphics backend
|
2017-10-23 20:28:45 -07:00 |
Patrick Walton
|
0a4fcb4841
|
Add a cubic curve command stream.
This is a prerequisite for handling CFF fonts.
|
2017-10-23 20:05:36 -07:00 |
Patrick Walton
|
2b5dea3263
|
Merge pull request #37 from Bobo1239/master
Fix compilation on non-macos
|
2017-10-21 09:13:02 -07:00 |
Boris-Chengbiao Zhou
|
ebfe5d0dbd
|
Fix compilation on non-macos
|
2017-10-21 15:07:51 +02: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
|
048c261f6c
|
Add a working experimental implementation of XCAA for SVG.
This has known performance problems and artefacts due to working at
sample level only, but it's a decent first cut.
|
2017-10-20 19:41:18 -07:00 |
Patrick Walton
|
9c470e77c1
|
Make macOS font rendering not depend on FreeType
|
2017-10-20 12:10:57 -07:00 |
Patrick Walton
|
a523d71e3c
|
Stop leaking buffer textures
|
2017-10-18 19:47:44 -07:00 |