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.
Add iced_glow
as a dependency in your Cargo.toml
:
iced_glow = "0.7"
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 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!