#culling #algebra #gamedev #vector

cgmath-culling

Small Frustum Culling crate meant to be used alongside cgmath

4 releases

Uses old Rust 2015

0.2.0 May 1, 2018
0.1.2 Apr 30, 2018
0.1.1 Apr 30, 2018
0.1.0 Apr 30, 2018

#1398 in Math

Custom license

26KB
617 lines

cgmath frustum culling

Build Status Package Downloads LICENSE

Small frustum culling crate meant to be used alongside the cgmath crate.

Usage

extern crate cgmath;
extern crate cgmath_culling;

use cgmath::{PerspectiveFov, Rad};
use cgmath_culling::{FrustumCuller, BoundingBox, Intersection as Int};

let per = PerspectiveFov { fovy: Rad(3.1415_f32 / 2.0),
                           aspect: 1.0,
                           near: 0.1,
                           far: 100.0 };

let culling = FrustumCuller::from_perspective_fov(per);
let bounding_box = BoundingBox::from_params(Vector3::new(0.0, 0.0, -7.0), Vector3::new(1.0, 1.0, -5.0));

match culling.test_bounding_box(bounding_box) {
    Intersection::Inside | Intersection::Partial => println!("I'm Inside!!!"),
    Intersection::Outside => println!("I'm Outside"),
}

License

MIT

Disclaimer

  • Reference implementation: JOML

Dependencies

~1MB
~17K SLoC