sge 1.0.2

Simple game engine
Documentation
use sge::prelude::*;

fn main() -> anyhow::Result<()> {
    init("3D?")?;

    let mut orbit_controller = OrbitCameraController::new(Vec3::ZERO);

    let material = create_blinn_phong_material(
        Color::RED_900,
        Color::RED_500,
        Color::RED_200,
        Color::PURPLE_300.with_alpha(0.3),
        Vec3::new(2.0, 5.0, 0.0),
    );

    let data = include_bytes!("../assets/models/suzanne_highres.obj");
    let mut model = Object3D::from_obj_bytes_with_material(data, material)?;
    model.compute_smooth_normals();

    loop {
        clear_screen(Color::PURPLE_300);

        orbit_controller.update();

        model.draw();

        if should_quit() {
            break;
        }

        run_egui(|ui| {
            draw_debug_info(ui);
        });

        next_frame();
    }

    Ok(())
}