Max Brunsfeld
7fb0951d42
Ensure that path windings are rendered to the right atlas texture
...
Fixes #5
2021-03-31 14:52:41 -07:00
Antonio Scandurra and Nathan Sobo
2a616e984a
Remove Overdraw
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 17:58:43 +02:00
Antonio Scandurra and Nathan Sobo
ba5640aba5
Fix tabs layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 17:57:00 +02:00
Antonio Scandurra and Nathan Sobo
3649a3d939
Don't blend alpha channels
...
We want to use the source alpha to determine the color of the final
pixel, but we want the final pixels to be fully opaque.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 16:24:28 +02:00
Antonio Scandurra and Nathan Sobo
05de08d783
Round clip bounds to whole pixels
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 16:23:37 +02:00
Antonio Scandurra
e68e06838c
Render borders correctly when only a subset of the border is visible
2021-03-31 14:53:34 +02:00
Antonio Scandurra
150b60de72
Snap quads to pixel grid to avoid antialiasing them around the edges
2021-03-31 14:53:15 +02:00
Antonio Scandurra
437a2eeee2
💄
2021-03-31 10:32:53 +02:00
Antonio Scandurra
bc9a6b4ea7
Remove conditional from winding number computation
2021-03-31 10:30:16 +02:00
Nathan Sobo
58ababd95f
Call did_modify_range on only once per render
2021-03-30 23:07:14 -06:00
Nathan Sobo and Max Brunsfeld
14eda8978c
Avoid generic parameter
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 18:05:13 -06:00
Nathan Sobo and Max Brunsfeld
7b4478ee56
Optimize grouping of path sprites by layer/atlas
...
Avoid filtering sprites redundantly on every layer and allocating intermediate vectors to group by atlas.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 18:03:00 -06:00
Nathan Sobo and Max Brunsfeld
5119a001fb
Clear the path atlases on every frame and fix spelling
...
@as-cii you were right about the plural of "atlas" after all.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 16:56:11 -06:00
Nathan Sobo and Max Brunsfeld
1ed0bd8c27
Decrease max windings to avoid problems with anti-aliasing
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 16:34:01 -06:00
Nathan Sobo
8d05d7bf21
Fix double-borrow when synthesizing drag events
2021-03-30 14:25:47 -06:00
Nathan Sobo
48fe2587df
Use correct texture size when drawing paths into atlas
2021-03-30 14:03:29 -06:00
Nathan Sobo
b1a967be9b
Bump max path windings to 128
...
This eliminates artifacts while still seeming to work with anti-aliasing.
2021-03-30 14:02:59 -06:00
Max Brunsfeld
e2e442a6f2
wip
2021-03-30 12:36:18 -07:00
Antonio Scandurra and Max Brunsfeld
4ae3460cb2
Snap path sprites to pixel grid
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-03-30 19:37:49 +02:00
Antonio Scandurra
3002f20279
WIP: Add anti-aliasing to paths and render them after spriting them
2021-03-30 16:37:12 +02:00
Antonio Scandurra
2439bd2712
Render stencils to atlas
2021-03-30 11:28:35 +02:00
Nathan Sobo and Max Brunsfeld
972e4f4556
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-29 22:56:47 -06:00
Nathan Sobo and Max Brunsfeld
5e92204f51
WIP: Render paths into stencil buffers
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-29 22:46:26 -06:00
Max Brunsfeld and Nathan Sobo
4b9e9eab28
WIP: Render path winding numbers to stencil buffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-29 16:28:35 -07:00
Max Brunsfeld
0fa136a263
Whitelist shader bindings using a regex, not individual types
2021-03-29 12:39:21 -07:00
Antonio Scandurra and Max Brunsfeld
97de7f46ae
WIP: Start on rendering paths
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-03-29 19:51:39 +02:00
Antonio Scandurra and Max Brunsfeld
928f955a16
Introduce a Path struct
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-03-29 19:50:38 +02:00
Antonio Scandurra and Max Brunsfeld
9849a51aa2
Construct Metal command encoder inside of Renderer
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-03-29 19:48:14 +02:00
Max Brunsfeld
8a119a51bf
Avoid nested structs in vertex function return types
...
This is required to compile successfully on macos versions <= 10.15 (catalina)
2021-03-28 19:04:36 -07:00
Antonio Scandurra
466016a374
Snap sprites to pixel grid in Renderer
...
Previously, we were doing so in the `SpriteCache` but that would cause
floating point errors that caused glyphs to sometimes be positioned
midway through a pixel.
2021-03-26 11:07:16 +01:00
Antonio Scandurra
61d4da9934
Introduce layer clipping
2021-03-26 10:28:05 +01:00
Antonio Scandurra
63f9719c99
💄
2021-03-26 09:58:55 +01:00
Antonio Scandurra
5439213199
Fix Empty sometimes returning an infinite size in layout
...
This commit also ensures that elements never report an infinite size by
adding a debug assertion in the `Lifecycle` element.
2021-03-26 09:46:53 +01:00
Antonio Scandurra
1cb987d489
Remove stray use of pathfinder_geometry
2021-03-25 18:19:20 +01:00
Antonio Scandurra
466f6e0479
Center line around its bounding box
2021-03-25 17:21:26 +01:00
Antonio Scandurra
4dc1b1e179
Fix test_render_glyph (but still leave it commented out for now)
2021-03-25 15:10:21 +01:00
Antonio Scandurra
0f6927eb4b
Re-export font_kit primitives from a new fonts module
...
...also, rename the old `fonts` to `font_cache`.
2021-03-25 10:58:33 +01:00
Antonio Scandurra
0906b2a2f4
Remove unused dependencies and avoid instantiating FontCache in tests
2021-03-25 10:48:32 +01:00
Antonio Scandurra and Nathan Sobo
5f3dbb05d6
Honor vertical subpixel positions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-24 18:35:48 +01:00
Antonio Scandurra and Nathan Sobo
bc977fc873
Render different variants according to subpixel positioning
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-24 18:20:25 +01:00
Antonio Scandurra and Nathan Sobo
9178e91cc0
Extract platform-dependant FontSystem
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-24 16:51:28 +01:00
Antonio Scandurra
e0e4cff815
Align glyphs correctly using font-kit's raster_bounds
2021-03-24 11:46:17 +01:00
Nathan Sobo
7523df05cf
Space out sprites in atlas
...
This prevents us from accidentally sampling a neighboring sprite.
2021-03-23 19:02:03 -06:00
Nathan Sobo
e5d586a942
Get glyphs sort of rendering
2021-03-23 18:54:09 -06:00
Nathan Sobo
28b84c081d
Fix noise in atlas texture
2021-03-23 17:27:28 -06:00
Antonio Scandurra and Nathan Sobo
ad7974608b
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-23 19:11:56 +01:00
Nathan Sobo
247afa1666
WIP
2021-03-23 09:13:35 -06:00
Antonio Scandurra and Nathan Sobo
764bfba2e2
WIP: Start on rendering glyphs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-23 15:15:41 +01:00
Antonio Scandurra
43abd96769
Apply padding correctly when painting Container's children
2021-03-23 10:59:35 +01:00
Antonio Scandurra
bac543657c
Declare float literals consistently in shader
2021-03-23 10:45:09 +01:00