#culling #vector #algebra #gamedev

cgmath-culling

一个小型的视锥剔除crate,旨在与cgmath一起使用。

4个版本

使用旧的Rust 2015

0.2.0 2018年5月1日
0.1.2 2018年4月30日
0.1.1 2018年4月30日
0.1.0 2018年4月30日

#127 in #algebra

自定义许可证

26KB
617 代码行

cgmath视锥剔除

Build Status Package Downloads LICENSE

一个小型的视锥剔除crate,旨在与cgmathcrate一起使用。

使用方法

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"),
}

许可证

MIT

免责声明

  • 参考实现:JOML

依赖项

~1MB
~16K SLoC