vello/README.md

49 lines
2.1 KiB
Markdown
Raw Normal View History

# vello
2020-04-16 01:56:39 +10:00
This repo contains the new prototype for a new compute-centric 2D GPU renderer (formerly known as piet-gpu).
2020-04-16 01:56:39 +10:00
It succeeds the previous prototype, [piet-metal].
The latest version is a middleware for [`wgpu`]. This is used as the rendering backend for
[xilem], a UI toolkit.
<!-- TODO: Are we transitioning to more production? If so, should we rewrite the README a bit? -->
2020-04-16 01:56:39 +10:00
## Goals
The main goal is to answer research questions about the future of 2D rendering:
- Is a compute-centered approach better than rasterization ([Direct2D])? How much so?
2020-04-16 01:56:39 +10:00
- To what extent do "advanced" GPU features (subgroups, descriptor arrays) help?
2020-04-16 01:56:39 +10:00
- Can we improve quality and extend the imaging model in useful ways?
2020-04-16 01:56:39 +10:00
2020-12-11 04:15:50 +11:00
## Blogs and other writing
2020-04-16 01:56:39 +10:00
2020-12-11 04:15:50 +11:00
Much of the research progress on piet-gpu is documented in blog entries. See [doc/blogs.md](doc/blogs.md) for pointers to those.
2020-04-16 01:56:39 +10:00
2020-12-11 04:15:50 +11:00
There is a much larger and detailed [vision](doc/vision.md) that explains the longer-term goals of the project, and how we might get there.
2020-04-16 01:56:39 +10:00
## History
2020-04-16 01:56:39 +10:00
A prior incarnation used a custom cross-API hal. An archive of this version can be found in the branches [`custom-hal-archive-with-shaders`] and [`custom-hal-archive`].
2020-04-16 01:56:39 +10:00
## License and contributions.
The piet-gpu project is dual-licensed under both [Apache 2.0](LICENSE-APACHE) and [MIT](LICENSE_MIT) licenses.
In addition, the shaders are provided under the terms of the [Unlicense](UNLICENSE). The intent is for this research to be used in as broad a context as possible.
The dx12 backend was adapted from piet-dx12 by Brian Merchant.
Contributions are welcome by pull request. The [Rust code of conduct] applies.
2020-04-16 01:56:39 +10:00
[piet-metal]: https://github.com/linebender/piet-metal
[direct2d]: https://docs.microsoft.com/en-us/windows/win32/direct2d/direct2d-portal
[`wgpu`]: https://wgpu.rs/
[xilem]: https://github.com/linebender/xilem/
[rust code of conduct]: https://www.rust-lang.org/policies/code-of-conduct
[`custom-hal-archive-with-shaders`]: https://github.com/linebender/piet-gpu/tree/custom-hal-archive-with-shaders
[`custom-hal-archive`]: https://github.com/linebender/piet-gpu/tree/custom-hal-archive