#math #algebra #vector #gamedev #culling

cgmath-culling

Small Frustum Culling crate meant to be used alongside cgmath

4 releases

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

#27 in #algebra

24 downloads per month

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