diff options
author | 2019-11-20 09:41:04 +0100 | |
---|---|---|
committer | 2019-11-20 09:41:04 +0100 | |
commit | cb4827059fdb34fa9b0cea714fb81b28741a08e7 (patch) | |
tree | 4980866f610c0c6a27aa99638c43f7eeee170d46 /wgpu/README.md | |
parent | c47f5095c85d5b259b298dd2446929dc9cbf1753 (diff) | |
download | iced-cb4827059fdb34fa9b0cea714fb81b28741a08e7.tar.gz iced-cb4827059fdb34fa9b0cea714fb81b28741a08e7.tar.bz2 iced-cb4827059fdb34fa9b0cea714fb81b28741a08e7.zip |
Add `README` for each subcrate
Diffstat (limited to 'wgpu/README.md')
-rw-r--r-- | wgpu/README.md | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/wgpu/README.md b/wgpu/README.md new file mode 100644 index 00000000..47038c10 --- /dev/null +++ b/wgpu/README.md @@ -0,0 +1,37 @@ +# `iced_wgpu` +[][documentation] +[](https://crates.io/crates/iced_wgpu) +[](https://github.com/hecrj/iced/blob/master/LICENSE) +[](https://iced.zulipchat.com) + +`iced_wgpu` is a [`wgpu`] renderer for [`iced_native`]. For now, it is the default renderer of Iced in native platforms. + +[`wgpu`] supports most modern graphics backends: Vulkan, Metal, DX11, and DX12 (OpenGL and WebGL are still WIP). Additionally, it will support the incoming [WebGPU API]. + +Currently, `iced_wgpu` supports the following primitives: +- Text, which is rendered using [`wgpu_glyph`]. No shaping at all. +- Quads or rectangles, with rounded borders and a solid background color. +- Images, lazily loaded from the filesystem. +- Clip areas, useful to implement scrollables or hide overflowing content. + + + +[documentation]: https://docs.rs/iced_wgpu +[`iced_native`]: ../native +[`wgpu`]: https://github.com/gfx-rs/wgpu-rs +[WebGPU API]: https://gpuweb.github.io/gpuweb/ +[`wgpu_glyph`]: https://github.com/hecrj/wgpu_glyph + +## Current limitations + +The current implementation is quite naive, it uses: + +- A different pipeline/shader for each primitive +- A very simplistic layer model: every `Clip` primitive will generate new layers +- _Many_ render passes instead of preparing everything upfront +- A glyph cache that is trimmed incorrectly when there are multiple layers (a [`glyph_brush`] limitation) + +Some of these issues are already being worked on! If you want to help, [get in touch!] + +[get in touch!]: ../CONTRIBUTING.md +[`glyph_brush`]: https://github.com/alexheretic/glyph-brush |