#culling #vector #algebra #gamedev

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

#120 in #algebra

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
~16K SLoC