rsbullet 0.3.10

Compiles bullet3 and exposes rust bindings to the C API
Documentation
use rsbullet::{BulletResult, DebugVisualizerOptions, Mode, PhysicsClient};

fn main() -> BulletResult<()> {
    let mut client = PhysicsClient::connect(Mode::Gui)?;
    client
        .set_default_search_path()?
        .set_gravity([0., 0., -10.])?;
    client.load_urdf("r2d2.urdf", Some([0., 0., 1.]))?;
    client.load_urdf("plane.urdf", None::<()>)?;

    client
        .configure_debug_visualizer(&DebugVisualizerOptions::ShadowMapWorldSize(5))?
        .configure_debug_visualizer(&DebugVisualizerOptions::ShadowMapResolution(8192))?;
    let mut t = 0.;
    const DELTA_T: f64 = 1. / 240.;
    const RADIUS: f64 = 5.;
    loop {
        t += DELTA_T;
        client.configure_debug_visualizer(&DebugVisualizerOptions::LightPosition([
            (RADIUS * t.sin()) as f32,
            (RADIUS * t.cos()) as f32,
            1.,
        ]))?;
    }
}