renderling/ui/sdf.rs
1//! 2d signed distance fields.
2use glam::Vec2;
3
4/// Returns the distance to the edge of a circle of radius `r` with center at `p`.
5fn distance_circle(p: Vec2, r: f32) -> f32 {
6 p.length() - r
7}
8
9pub struct Circle {
10 origin: Vec2,
11 radius: f32,
12}
13
14impl Circle {
15 pub fn distance(&self) -> f32 {
16 distance_circle(self.origin, self.radius)
17 }
18}
19
20// #[spirv_std::spirv(vertex)]
21// pub fn vertex_circle(
22
23// )