Patrick Walton
478008dcf0
Use all four channels in the mask texture.
...
Each bundle of four pixels on a scanline is packed into the RGBA channels of
the mask texture. The area LUT is also expanded to be RGBA so that four pixels'
worth of areas can be looked up at once.
Nice improvement on `paris-30k` from MPVG.
Closes #262 .
2020-05-05 13:11:37 -07:00
Patrick Walton
104869a6e9
Move the mask enable flag to the tile to reduce drawcall count
2020-04-22 11:04:16 -07:00
Patrick Walton
cd09177ead
Implement the infrastructure needed to support multiple clip paths.
...
This also lays the groundwork needed to reduce batch breaks between solid and
alpha tiles.
2020-04-21 18:25:20 -07:00
Sebastian K
582f025c91
Update WebGL backend for recent changes
2020-04-16 12:02:42 -07:00
Patrick Walton
cdbe2fbb6b
Introduce the concept of a base color in order to handle canvas shadow alpha
...
correctly
2020-04-13 18:31:25 -07:00
Patrick Walton
895f73096e
Switch back to instanced drawing for tiles.
...
Improves tile build time by something around 2x in the NanoVG demo.
2020-04-08 17:16:54 -07:00
Patrick Walton
6eb0232aad
Add `precision highp sampler2D` everywhere so our winding numbers don't get clipped
...
Closes #280 .
2020-03-27 14:53:00 -07:00
Patrick Walton
0c93045f50
Replace the individual tile shaders with an ubershader
2020-03-25 21:59:51 -07:00