Working
This commit is contained in:
+7
-5
@@ -3,6 +3,8 @@
|
||||
//! The frustum is the field of view of a camera. It allows you to make computation to know what is
|
||||
//! visible or not in an efficient manner, though it doesn't take occlusions into account.
|
||||
|
||||
use nalgebra::Matrix4;
|
||||
|
||||
use math::vector::Vector3;
|
||||
use math::plane::Plane;
|
||||
use math::bounding_box::BoundingBox3;
|
||||
@@ -18,12 +20,12 @@ impl Frustum {
|
||||
/// Creates a frustum from the matrix of a camera.
|
||||
///
|
||||
/// This is *ahem...* slightly inspired from THREE.js Frustum
|
||||
pub fn from_matrix(m: &[[f32; 4]; 4]) -> Frustum {
|
||||
pub fn from_matrix(m: &Matrix4<f32>) -> Frustum {
|
||||
|
||||
let m0 = m[0][0]; let m1 = m[0][1]; let m2 = m[0][2]; let m3 = m[0][3];
|
||||
let m4 = m[1][0]; let m5 = m[1][1]; let m6 = m[1][2]; let m7 = m[1][3];
|
||||
let m8 = m[2][0]; let m9 = m[2][1]; let m10 = m[2][2]; let m11 = m[2][3];
|
||||
let m12 = m[3][0]; let m13 = m[3][1]; let m14 = m[3][2]; let m15 = m[3][3];
|
||||
let m0 = m[(0, 0)]; let m1 = m[(0, 1)]; let m2 = m[(0, 2)]; let m3 = m[(0, 3)];
|
||||
let m4 = m[(1, 0)]; let m5 = m[(1, 1)]; let m6 = m[(1, 2)]; let m7 = m[(1, 3)];
|
||||
let m8 = m[(2, 0)]; let m9 = m[(2, 1)]; let m10 = m[(2, 2)]; let m11 = m[(2, 3)];
|
||||
let m12 = m[(3, 0)]; let m13 = m[(3, 1)]; let m14 = m[(3, 2)]; let m15 = m[(3, 3)];
|
||||
|
||||
Frustum {
|
||||
planes: [
|
||||
|
||||
Reference in New Issue
Block a user