iced/wgpu
aentity 665422e256 Use ceil on svg dimensions, fix svg memory usage
Calls ceil() on dimension bounds as this appears fix svg memory
unbounded usage because no longer cache miss.

The height and width return from resvg seem to always be ceiling
of float dimensions, so we try to match.
2021-07-21 02:26:53 -04:00
..
src Use ceil on svg dimensions, fix svg memory usage 2021-07-21 02:26:53 -04:00
Cargo.toml Use latest wgpu releases instead of patched sources 2021-05-19 17:18:43 +07:00
README.md Bump versions 🎉 2021-03-31 20:07:17 +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.

The native target

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!