9 releases (5 breaking)
Uses new Rust 2021
0.5.0 | May 2, 2022 |
---|---|
0.4.0 | Mar 31, 2021 |
0.3.0 | Nov 26, 2020 |
0.2.3 | May 30, 2020 |
0.0.0 | Aug 26, 2019 |
#125 in Graphics APIs
4,540 downloads per month
Used in 16 crates
(3 directly)
600KB
15K
SLoC
iced_wgpu
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.
- Clip areas, useful to implement scrollables or hide overflowing content.
- Images and SVG, loaded from memory or the file system.
- Meshes of triangles, useful to draw geometry freely.
Installation
Add iced_wgpu
as a dependency in your Cargo.toml
:
iced_wgpu = "0.4"
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.
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!
Dependencies
~6–13MB
~269K SLoC