Commit Graph

127 Commits

Author SHA1 Message Date
Patrick Walton a54378f931 Make the paint texture dynamically-sized on the GPU side 2019-05-14 11:38:48 -07:00
Patrick Walton 376a1c7165 Rename "fill colors" to "paint" in preparation for gradients and images 2019-05-14 11:33:52 -07:00
Patrick Walton d5a12e0e9f Revert "batch alpha and solid tiles"
This reverts commit 753a254726.
2019-05-13 18:20:21 -07:00
Patrick Walton 55be787ffd
Merge pull request #150 from nical/glitch-fix
Fix vertex attribute configuration of alpha tiles
2019-05-13 10:58:06 -07:00
Nicolas Silva 820a0286aa Fix vertex attribute configuration of alpha tiles.
Fixes #134.

glVertexAttribPointer takes a size as parameter which refers to the number of components and not the size in bytes of the value.
The tile index was registered as a 2-components value which caused the second component to overlap with the first member of the next primitive, which was mostly fine except for the last element which would overlfow the buffer. Intel and nvidia GPUs/drivers on linux at least refuse to read the first component of this two-component value if the other component is outside of the valid range which caused the shader to get zero instead and always select the first mask tile.
2019-05-13 18:00:54 +02:00
bhmerchant@gmail.com 753a254726 batch alpha and solid tiles 2019-05-10 22:57:34 -07:00
Patrick Walton a5d373cb91 Rename "object" to "path" in preparation for image objects 2019-05-10 12:03:38 -07:00
Patrick Walton b198c06968 Properly account for concurrency in the performance measurement 2019-05-07 13:43:37 -07:00
Patrick Walton 15f63df844 Rename `DebugUI` to `DebugUIPresenter` and `UI` to `UIPresenter` 2019-05-06 15:36:39 -07:00
Patrick Walton 9de7d95d33 Start a simple HTML canvas-like API, and add a minimal example to show how to
use it.
2019-05-03 14:15:38 -07:00
Patrick Walton 5c5e4e9313 Factor the scene thread out of the demo and into the renderer proper.
This simplifies Pathfinder's API considerably. Now users get off-main-thread
scene building "for free".
2019-05-01 17:12:25 -07:00
Patrick Walton db8eb1c97c Run `rustfmt` on the renderer crate 2019-04-29 16:45:29 -07:00
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 58d55c5eaa Allow rendering to non-default framebuffers 2019-04-18 19:05:01 -07:00
Patrick Walton 62a3fefca4 Reenable the tile and fill counts in the debug display 2019-04-18 15:09:37 -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
Patrick Walton 3d4f8bd008 Pipeline between CPU and GPU at a more fine-grained level.
This makes us stop running one frame behind.
2019-04-09 17:06:43 -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 0458d9a7f2 Factor out bits of the postprocessing shader into includes 2019-03-18 21:40:10 -07:00
Patrick Walton bb32777101 Initial work toward VR support 2019-03-14 14:42:22 -07:00
Patrick Walton 9c404dfdc1 Add an Android port 2019-03-12 13:55:26 -07:00
Patrick Walton b80ab2ad25 Only show the "Text Effects" button when a monochrome SVG is loaded 2019-03-06 19:35:57 -08:00
Patrick Walton 6062676d0e Add tooltips to the buttons in the demo 2019-03-06 11:33:59 -08:00
Patrick Walton 4dff13ef00 Use an advancing cursor when laying out UI elements 2019-03-06 10:47:52 -08:00
Patrick Walton ad0691c146 Move the generic UI code in the renderer crate to a separate crate 2019-03-05 15:13:55 -08:00
Patrick Walton f7a8b573ce Move the GPU rendering code out of `pathfinder_gl`, since it's now no longer
OpenGL-specific
2019-03-05 14:46:18 -08:00