kiss3d 0.45.0

Keep it simple, stupid, 2D and 3D graphics engine for Rust.
Documentation
use kiss3d::prelude::*;
use rand::random;

#[kiss3d::main]
async fn main() {
    let mut window = Window::new("Kiss3d: quad").await;
    let mut camera = OrbitCamera3d::new(Vec3::new(0.0, 0.0, 5.0), Vec3::ZERO);
    let mut scene = SceneNode3d::empty();
    scene
        .add_light(Light::point(100.0))
        .set_position(Vec3::new(0.0, 10.0, 10.0));

    let mut c =
        scene
            .add_quad(5.0, 4.0, 100, 100)
            .set_color(Color::new(random(), random(), random(), 1.0));

    let mut time = 0.016f32;

    while window.render_3d(&mut scene, &mut camera).await {
        c.modify_vertices(&mut |coords| {
            for v in coords.iter_mut() {
                v.z = time.sin()
                    * (((v.x + time) * 4.0).cos() + time.sin() * ((v.y + time) * 4.0 + time).cos())
                    / 2.0
            }
        });
        c.recompute_normals();

        time += 0.016;
    }
}