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// )