use blue_engine::{
header::{Engine, ObjectSettings},
primitive_shapes::triangle,
Instance,
};
pub fn main() {
let mut engine = Engine::new().expect("window not created");
triangle(
"Triangle",
ObjectSettings::default(),
&mut engine.renderer,
&mut engine.objects,
)
.unwrap();
engine.objects.update_object("Triangle", |object| {
object.set_position(0f32, 0f32, -3f32);
let create_instance = |x: f32, y: f32, z: f32| {
Instance::new(
[x, y, z].into(),
[0f32, 0f32, 0f32].into(),
[1f32, 1f32, 1f32].into(),
)
};
object.add_instance(create_instance(2f32, 1f32, -2f32));
object.add_instance(create_instance(2f32, -1f32, -2f32));
object.add_instance(create_instance(-2f32, 1f32, -2f32));
object.add_instance(create_instance(-2f32, -1f32, -2f32));
});
engine
.objects
.get_mut("Triangle")
.expect("Couldn't get the triangle")
.update_instance_buffer(&mut engine.renderer)
.expect("Couldn't update instance buffer");
engine
.update_loop(move |_, _, _, _, _, _| {})
.expect("Error during update loop");
}