iced/wgpu
Héctor Ramón Jiménez 2ef1b4317a Remove subcrates CHANGELOG
At this stage, it is important to allow the library to change rapidly.
Because of this, keeping a log of changes can be counter-productive. We
do not want pin down design decisions by writing detailed changelogs
(sunk cost fallacy).

Once the library and its different parts start becoming more stable and
mature, we will reintroduce changelogs accordingly.

For now, we will keep a main `CHANGELOG` file just for the `iced` crate.
2020-04-02 03:44:14 +02:00
..
fonts Fallback to embedded font when system font fails 2019-11-26 15:32:11 +01:00
src Add example to pane_grid module documentation 2020-04-02 03:44:14 +02:00
Cargo.toml Use new wgpu_glyph release in iced_wgpu 2020-03-03 00:07:30 +01:00
README.md Update iced_wgpu root documentation 2020-04-02 03:44:14 +02:00

iced_wgpu

Documentation Crates.io License project chat

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.

iced_wgpu

Installation

Add iced_wgpu as a dependency in your Cargo.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.

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!