triangles/
triangles.rs

1use std::f64::consts::PI;
2
3use ab_glyph::FontArc;
4use glam::DVec2;
5use palette::Srgba;
6use render_agnostic::{Renderer, renderers::image::ImageRenderer};
7
8fn main() {
9    let mut image_renderer = ImageRenderer::new(
10        64,
11        64,
12        1.0,
13        DVec2::ZERO,
14        4,
15        FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
16    );
17
18    image_renderer.render_equilateral_triangle(
19        DVec2::splat(16.0),
20        16.0,
21        0.0,
22        Srgba::new(1.0, 1.0, 1.0, 1.0),
23    );
24
25    image_renderer.render_equilateral_triangle(
26        DVec2::splat(16.0),
27        16.0,
28        PI,
29        Srgba::new(1.0, 0.0, 0.0, 1.0),
30    );
31
32    image_renderer.render_equilateral_triangle_lines(
33        DVec2::splat(48.0),
34        16.0,
35        0.0,
36        2.0,
37        Srgba::new(0.0, 0.0, 1.0, 1.0),
38    );
39
40    image_renderer.render_equilateral_triangle_lines(
41        DVec2::splat(48.0),
42        16.0,
43        PI,
44        2.0,
45        Srgba::new(0.0, 1.0, 0.0, 1.0),
46    );
47
48    image_renderer
49        .render_image_onto(image_renderer.black())
50        .save("triangles.png")
51        .unwrap();
52}