11 releases (breaking)

0.8.0 Apr 13, 2023
0.7.0 Feb 18, 2023
0.6.0 Jan 14, 2023
0.5.1 Dec 15, 2022
0.0.0 May 21, 2020

#1015 in Graphics APIs

Download history 779/week @ 2024-12-11 411/week @ 2024-12-18 184/week @ 2024-12-25 357/week @ 2025-01-01 367/week @ 2025-01-08 613/week @ 2025-01-15 427/week @ 2025-01-22 549/week @ 2025-01-29 858/week @ 2025-02-05 469/week @ 2025-02-12 384/week @ 2025-02-19 498/week @ 2025-02-26 339/week @ 2025-03-05 606/week @ 2025-03-12 551/week @ 2025-03-19 421/week @ 2025-03-26

1,963 downloads per month
Used in 17 crates (3 directly)

MIT AND OFL-1.1

1MB
19K SLoC

iced_glow

Documentation Crates.io License Discord Server

iced_glow is a glow renderer for iced_native. This renderer supports OpenGL 3.0+ and OpenGL ES 2.0.

This renderer is mostly used as a fallback for hardware that doesn't support wgpu (Vulkan, Metal or DX12).

Currently, iced_glow supports the following primitives:

  • Text, which is rendered using glow_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.
  • Meshes of triangles, useful to draw geometry freely.

The native target

Installation

Add iced_glow as a dependency in your Cargo.toml:

iced_glow = "0.8"

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

~13–26MB
~476K SLoC