oyk

OYK is ODE (Open Dynamics Engine) bindings for Rust yaw kinetics

ODE * https://github.com/nomissbowling/oyk/blob/master/img/oyk_512x100.png?raw=true

Now this crate is tested on ode-0.16.2 dll version.

ode.dll drawstuff.dll for x64 Windows binary compiled with -DdDOUBLE by mingw

(It may work with VC, or other platforms.)

Requirements

to build dll

in the running directory

Samples

```rust use asciiz::u8z::{U8zBuf, u8zz::{CArgsBuf}}; use oyk::ode::*;

fn main() { ODE::open(); unsafe { let tdelta: &mut dReal = &mut odegetmut!(tdelta); *t_delta = 0.002;

let obgs: &mut Vec = &mut odegetmut!(obgs); let gws: &mut Gws = &mut odegetmut!(gws); let m: dReal = 1.0; let r: dReal = 0.2; for i in 0..16 { let c: dVector4 = vec4fromu32(COLORS[i]); let p: dVector3 = [(i%4) as dReal - 1.5, (i/4) as dReal - 1.5, 2.0, 1.0]; obgs.push(Obg::mksphere(gws, m, r, &c, &p)); } let c: dVector4 = [1.0, 1.0, 0.0, 0.8]; let p: dVector3 = [0.0, 0.0, 10.0, 1.0]; obgs.push(Obg::mksphere(gws, 0.1, 1.0, &c, &p));

let ptt: U8zBuf = U8zBuf::fromu8array(b"./resources"); // to keep lifetime let mut dsfn: dsFunctions = dsFunctions{ version: DSVERSION, start: Some(startcallback), // Optioncallback), // Optiontotextures: ptt.as_i8p() };

let mut cab: CArgsBuf = CArgsBuf::from(&std::env::args().collect()); dsSimulationLoop(cab.asargc(), cab.asargvptrmut(), 640, 480, &mut dsfn); } ODE::close(); } ```

see also

License

MIT License