use std::error::Error; use engine::color::Color; use engine::object::Object; use engine::vector::Vec3; use engine::vertex::Builder as VertexBuilder; use engine::{Engine, WindowSize}; use tracing::Level; use tracing_subscriber::FmtSubscriber; const WINDOW_SIZE: WindowSize = WindowSize { width: 500, height: 600, }; fn main() -> Result<(), Box> { let subscriber = FmtSubscriber::builder() .with_max_level(Level::TRACE) .finish(); tracing::subscriber::set_global_default(subscriber)?; let engine = Engine::new(&WINDOW_SIZE, "Yaaay lmao")?; let triangle = Object::new(&[ VertexBuilder::new() .pos(Vec3 { x: -0.5, y: -0.5, z: 0.0, }) .color(Color { red: 1.0, green: 0.0, blue: 0.0, }) .build() .unwrap(), VertexBuilder::new() .pos(Vec3 { x: 0.5, y: -0.5, z: 0.0, }) .color(Color { red: 0.0, green: 1.0, blue: 0.0, }) .build() .unwrap(), VertexBuilder::new() .pos(Vec3 { x: 0.0, y: 0.5, z: 0.0, }) .color(Color { red: 0.0, green: 0.0, blue: 1.0, }) .build() .unwrap(), ])?; engine.start(&[triangle], || {})?; Ok(()) }