Commit Graph

63 Commits

Author SHA1 Message Date
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
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
Alan Jeffrey bd70cb0135 Changed some of the magicleap demo SVGs 2019-04-15 12:43:41 -04:00
Patrick Walton c5ccd0f6e0 Add partial support for transparent background colors. 2019-04-10 14:43:36 -07:00
Patrick Walton db3851d754 Get subpixel AA and gamma correction working in 2D 2019-03-25 16:20:34 -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 6ca5dc5f62 Add basic barrel distortion support for VR 2019-03-20 13:41:04 -07:00
Patrick Walton 0458d9a7f2 Factor out bits of the postprocessing shader into includes 2019-03-18 21:40:10 -07:00
Patrick Walton 9c404dfdc1 Add an Android port 2019-03-12 13:55:26 -07:00
Patrick Walton 64b480fe32 Some more work on the site 2019-03-01 14:58:02 -08:00
Patrick Walton dc69d1197e Tweak debug UI 2019-02-26 15:24:39 -08:00
Patrick Walton 92777c6346 Make rects rounded and optimize PNGs 2019-02-26 13:48:35 -08:00
Patrick Walton f6af769486 Add screenshot functionality. 2019-02-25 11:33:26 -08:00
Patrick Walton aef7dd1353 Allow the background color to be changed in the demo 2019-02-22 18:21:03 -08:00
Patrick Walton e10e2e97d4 Tweak the camera transforms in the 3D view 2019-02-22 11:54:01 -08:00
Patrick Walton 0da196aa92 Scale the SVG appropriately in the demo 2019-02-21 20:19:42 -08:00
Patrick Walton c7a1d9e960 Use stencil to integrate the vector scene into the 3D environment 2019-02-19 12:03:02 -08:00
Patrick Walton 3b8ecfd74c WIP before removing barycentric coordinates 2019-02-18 18:13:10 -08:00
Patrick Walton 9af3bac11f Implement depth interpolation, not working yet 2019-02-18 13:42:30 -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 faad8c3950 Remove old resources 2019-02-08 14:43:47 -08:00
Patrick Walton a4386ab3e7 Add a new Ghostscript tiger test case 2019-01-17 09:18:18 -08: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 0720b04591 Scale stroke widths correctly in the Ghostscript tiger test 2018-01-18 17:01:47 -08:00
Patrick Walton 4a71f79a78 Make the logo in the navbar monochrome 2018-01-04 14:43:37 -08:00
Patrick Walton 275a937439 Fix colors and view box for the reference in the SVG reftest 2018-01-04 14:14:47 -08:00
Patrick Walton c5187deedd Use the monochrome MCAA mode for the Material Design icons SVG demo.
This avoids ugly pixel snapping.
2018-01-03 20:53:25 -08:00
Patrick Walton 797b935f35 Add Material Design icons to the SVG demo 2017-12-19 19:11:12 -08:00
Patrick Walton 23482b2af8 Add the logo to the demo.
Logo design courtesy Jay Vining.
2017-12-19 14:51:51 -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 529a3eae23 Add rotation support for SSAA in SVG; switch to Material Design icons 2017-11-20 15:32:02 -08:00
Patrick Walton 86df78f939 Flesh out the integration test more 2017-11-17 17:06:59 -08:00
Patrick Walton 0a5f4c65df Add a prebuilt gamma LUT 2017-11-07 11:56:04 -08:00
Patrick Walton 37a88dfcd9 Use the Inter UI font in the demo 2017-09-28 15:23:52 -07:00
Patrick Walton 6cbc7dc082 Use some names from the Mozilla Monument in the 3D demo 2017-09-06 22:50:07 -07:00
Patrick Walton 64e3558986 Considate `resources` directories 2017-08-29 19:27:05 -07:00
Patrick Walton 93c928bf5c Move Pathfinder to `pathfinder-classic` in preparation for Pathfinder 2 2017-06-27 14:13:11 -07:00
Patrick Walton 45ade674be Refactor `lorem-ipsum` 2017-02-28 12:33:42 -08:00
Patrick Walton b86133a4ef Initial experimental support for subpixel antialiasing 2017-02-22 16:31:44 -08:00
Patrick Walton 49408b95cb Add support for subpixel offsets.
Closes #11.
2017-02-20 16:01:15 -08:00
Patrick Walton 6ac37c5085 Support cubic Béziers for fonts with CFF outlines 2017-02-16 19:37:21 -08:00
Patrick Walton 1b10ffdd54 Try to fix Linux/Windows 2017-02-14 12:29:30 -08:00
Patrick Walton 731360bc9d Try to fix RGBA atlas generation in OpenGL 2017-02-13 12:32:15 -08:00
Patrick Walton cd11deab46 Support RGBA atlases, needed for WebRender 2017-02-10 19:07:23 -08:00
Patrick Walton 96daa32b90 Move direction calculation from the TCS to the TES to properly handle cusps 2017-02-09 17:09:19 -08:00
Patrick Walton 5ecfadc3be Update for unorm change in `compute-shader` 2017-02-08 16:29:23 -08:00
Patrick Walton 428a91aefa Get things working on Windows 2017-02-08 13:55:36 -08:00
Patrick Walton e9fd5d6b1b Work around driver bugs on Apple Radeon GPUs 2017-02-07 14:39:36 -08:00
Patrick Walton 65153b65ee Fix subpixel positioning 2017-02-06 18:02:16 -08:00
Patrick Walton 7cd7210304 Fix winding rule to paint negative winding numbers 2017-02-06 15:28:23 -08:00
Patrick Walton 3fb592e05a Fix up examples and tests 2017-02-02 16:40:46 -08:00
Patrick Walton 5bccf88445 Make zooming work better; fix atlas sizing bugs 2017-01-30 18:33:44 -08:00
Patrick Walton 30daf10cdd Fix syntax on Linux; drop GL version to 3.3 2017-01-25 20:25:54 -08:00
Patrick Walton 2f181f23aa Add a draft GLSL accumulation step, currently untested 2017-01-25 19:22:04 -08:00
Patrick Walton 1336bb790e Add a geometry-shader-based path for debugging.
This is useful for testing via llvmpipe or softpipe on Linux, because
no software Mesa backend supports tessellation shaders.
2017-01-25 18:53:11 -08:00
Patrick Walton d5b61e382e Get things basically working 2017-01-25 17:08:00 -08:00
Patrick Walton 50ad78db2a Draft end-to-end support for the new algorithm. Not working yet. 2017-01-24 15:30:14 -08:00
Patrick Walton 1cd3a1e6bd Migrate the glyph buffers to be OpenGL buffers 2017-01-23 22:03:40 -08:00
Patrick Walton 0569831969 Fix shader compilation errors; convert the coverage buffer to a texture 2017-01-23 19:39:51 -08:00
Patrick Walton f1ec3385de Draft shader code for the new tessellation-based algorithm 2017-01-23 15:33:12 -08:00
Patrick Walton bdf6ebab24 Draft complete end-to-end code. Not working yet. 2017-01-11 20:44:10 -08:00
Patrick Walton 7056a7632b Create buffers and create skeleton OpenCL shaders 2017-01-10 19:57:08 -08:00
Patrick Walton 941aaea676 Encode contours. 0.3-0.4 µs per glyph or so. 2017-01-09 19:49:00 -08:00