debug_triangle/
debug_triangle.rs1use bottomless_pit::colour::Colour;
2use bottomless_pit::engine_handle::{Engine, EngineBuilder};
3use bottomless_pit::material::{Material, MaterialBuilder};
4use bottomless_pit::render::RenderHandle;
5use bottomless_pit::vec2;
6use bottomless_pit::vectors::Vec2;
7use bottomless_pit::Game;
8
9fn main() {
10 let mut engine = EngineBuilder::new()
11 .with_resolution((400, 400))
12 .build()
13 .unwrap();
14
15 let material = MaterialBuilder::new().build(&mut engine);
16
17 let pos = DebugTriangle { material };
18
19 engine.run(pos);
20}
21
22struct DebugTriangle {
23 material: Material<()>,
24}
25
26impl Game for DebugTriangle {
27 fn render<'o>(&'o mut self, mut render: RenderHandle<'o>) {
28 let mut render_handle = render.begin_pass(Colour::BLACK);
29
30 self.material.add_triangle_with_coloured_verticies(
31 [
32 vec2! { 200.0, 0.0 },
33 vec2! { 400.0 },
36 vec2! { 0.0, 400.0 },
37 ],
38 [Colour::RED, Colour::GREEN, Colour::BLUE],
39 &render_handle,
40 );
41 self.material
42 .add_rectangle(vec2! { 0.0 }, vec2! { 100.0 }, Colour::RED, &render_handle);
43 self.material.draw(&mut render_handle);
44 }
45
46 fn update(&mut self, _engine_handle: &mut Engine) {}
47}