From cb4827059fdb34fa9b0cea714fb81b28741a08e7 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 20 Nov 2019 09:41:04 +0100 Subject: Add `README` for each subcrate --- wgpu/README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 wgpu/README.md (limited to 'wgpu') 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://docs.rs/iced_wgpu/badge.svg)][documentation] +[![Crates.io](https://img.shields.io/crates/v/iced_wgpu.svg)](https://crates.io/crates/iced_wgpu) +[![License](https://img.shields.io/crates/l/iced_wgpu.svg)](https://github.com/hecrj/iced/blob/master/LICENSE) +[![project chat](https://img.shields.io/badge/chat-on_zulip-brightgreen.svg)](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. + +![iced_wgpu](../docs/graphs/wgpu.png) + +[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 -- cgit From 4b94cf00351f09fa916ebb1d89e4cdf4622fd800 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 20 Nov 2019 09:56:16 +0100 Subject: Add installation section to subcrate `README`s --- wgpu/Cargo.toml | 4 ++-- wgpu/README.md | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'wgpu') diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index 3ebfa7ea..0d80357c 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "iced_wgpu" -version = "0.1.0-alpha" +version = "0.1.0" authors = ["Héctor Ramón Jiménez "] edition = "2018" description = "A wgpu renderer for Iced" @@ -8,7 +8,7 @@ license = "MIT" repository = "https://github.com/hecrj/iced" [dependencies] -iced_native = { version = "0.1.0-alpha", path = "../native" } +iced_native = { version = "0.1.0", path = "../native" } wgpu = "0.4" glyph_brush = "0.6" wgpu_glyph = { version = "0.5", git = "https://github.com/hecrj/wgpu_glyph", branch = "feature/scissoring" } diff --git a/wgpu/README.md b/wgpu/README.md index 47038c10..38c6ddb6 100644 --- a/wgpu/README.md +++ b/wgpu/README.md @@ -22,6 +22,18 @@ Currently, `iced_wgpu` supports the following primitives: [WebGPU API]: https://gpuweb.github.io/gpuweb/ [`wgpu_glyph`]: https://github.com/hecrj/wgpu_glyph +## Installation +Add `iced_wgpu` as a dependency in your `Cargo.toml`: + +```toml +iced_wgpu = "0.1.0" +``` + +__Iced moves fast and the `master` branch can contain breaking changes!__ If +you want to learn about a specific release, check out [the release list]. + +[the release list]: https://github.com/hecrj/iced/releases + ## Current limitations The current implementation is quite naive, it uses: -- cgit