pub fn from_modelview_and_projection(modl: &[f32; 16], proj: &[f32; 16]) -> Frustum {
                
        // clip = projection * modelview modelview
        let clip: [f32; 16] = [
            modl[0]	* proj[0] + modl[1] 	* proj[4] + modl[2] 	* proj[8]	+ modl[3]	* proj[12],
            modl[0]	* proj[1] + modl[1] 	* proj[5] + modl[2] 	* proj[9]	+ modl[3]	* proj[13],
            modl[0]	* proj[2] + modl[1] 	* proj[6] + modl[2] 	* proj[10]	+ modl[3]	* proj[14],
            modl[0]	* proj[3] + modl[1] 	* proj[7] + modl[2] 	* proj[11]	+ modl[3]	* proj[15],
            modl[4]	* proj[0] + modl[5] 	* proj[4] + modl[6] 	* proj[8]	+ modl[7]	* proj[12],
            modl[4]	* proj[1] + modl[5] 	* proj[5] + modl[6] 	* proj[9]	+ modl[7]	* proj[13],
            modl[4]	* proj[2] + modl[5] 	* proj[6] + modl[6] 	* proj[10]	+ modl[7]	* proj[14],
            modl[4]	* proj[3] + modl[5] 	* proj[7] + modl[6] 	* proj[11]	+ modl[7]	* proj[15],
            modl[8]	* proj[0] + modl[9] 	* proj[4] + modl[10]	* proj[8]	+ modl[11]	* proj[12],
            modl[8]	* proj[1] + modl[9] 	* proj[5] + modl[10] 	* proj[9]	+ modl[11]	* proj[13],
            modl[8]	* proj[2] + modl[9] 	* proj[6] + modl[10] 	* proj[10]	+ modl[11]	* proj[14],
            modl[8]	* proj[3] + modl[9] 	* proj[7] + modl[10] 	* proj[11]	+ modl[11]	* proj[15],
            modl[12]	* proj[0] + modl[13]	* proj[4] + modl[14] 	* proj[8]	+ modl[15]	* proj[12],
            modl[12]	* proj[1] + modl[13]	* proj[5] + modl[14] 	* proj[9]	+ modl[15]	* proj[13],
            modl[12]	* proj[2] + modl[13]	* proj[6] + modl[14] 	* proj[10]	+ modl[15]	* proj[14],
            modl[12]	* proj[3] + modl[13]	* proj[7] + modl[14] 	* proj[11]	+ modl[15]	* proj[15],
        ];
        Frustum::from_modelview_projection(&clip)
    }
/// Create a frustum from column major modelview and projection float arrays matrices
///
Create a frustum from column major modelview and projection float arrays matrices
Create a frustum from column major modelview and projection float arrays matrices
pub fn from_modelview_and_projection(modl: &[f32; 16], proj: &[f32; 16]) -> Frustum {
        // clip = projection * modelview modelview
        let clip: [f32; 16] = [
            modl[0]	* proj[0] + modl[1] 	* proj[4] + modl[2] 	* proj[8]	+ modl[3]	* proj[12],
            modl[0]	* proj[1] + modl[1] 	* proj[5] + modl[2] 	* proj[9]	+ modl[3]	* proj[13],
            modl[0]	* proj[2] + modl[1] 	* proj[6] + modl[2] 	* proj[10]	+ modl[3]	* proj[14],
            modl[0]	* proj[3] + modl[1] 	* proj[7] + modl[2] 	* proj[11]	+ modl[3]	* proj[15],
            modl[4]	* proj[0] + modl[5] 	* proj[4] + modl[6] 	* proj[8]	+ modl[7]	* proj[12],
            modl[4]	* proj[1] + modl[5] 	* proj[5] + modl[6] 	* proj[9]	+ modl[7]	* proj[13],
            modl[4]	* proj[2] + modl[5] 	* proj[6] + modl[6] 	* proj[10]	+ modl[7]	* proj[14],
            modl[4]	* proj[3] + modl[5] 	* proj[7] + modl[6] 	* proj[11]	+ modl[7]	* proj[15],
            modl[8]	* proj[0] + modl[9] 	* proj[4] + modl[10]	* proj[8]	+ modl[11]	* proj[12],
            modl[8]	* proj[1] + modl[9] 	* proj[5] + modl[10] 	* proj[9]	+ modl[11]	* proj[13],
            modl[8]	* proj[2] + modl[9] 	* proj[6] + modl[10] 	* proj[10]	+ modl[11]	* proj[14],
            modl[8]	* proj[3] + modl[9] 	* proj[7] + modl[10] 	* proj[11]	+ modl[11]	* proj[15],
            modl[12]	* proj[0] + modl[13]	* proj[4] + modl[14] 	* proj[8]	+ modl[15]	* proj[12],
            modl[12]	* proj[1] + modl[13]	* proj[5] + modl[14] 	* proj[9]	+ modl[15]	* proj[13],
            modl[12]	* proj[2] + modl[13]	* proj[6] + modl[14] 	* proj[10]	+ modl[15]	* proj[14],
            modl[12]	* proj[3] + modl[13]	* proj[7] + modl[14] 	* proj[11]	+ modl[15]	* proj[15],
        ];
        Frustum::from_modelview_projection(&clip)
    }
pub fn from_modelview_and_projection ( modl : & [ f32 ; 16 ] , proj : & [ f32 ; 16 ] ) -> Frustum { // clip = projection * modelview modelview let clip : [ f32 ; 16 ] = [ modl [ 0 ] * proj [ 0 ] + modl [ 1 ] * proj [ 4 ] + modl [ 2 ] * proj [ 8 ] + modl [ 3 ] * proj [ 12 ] , modl [ 0 ] * proj [ 1 ] + modl [ 1 ] * proj [ 5 ] + modl [ 2 ] * proj [ 9 ] + modl [ 3 ] * proj [ 13 ] , modl [ 0 ] * proj [ 2 ] + modl [ 1 ] * proj [ 6 ] + modl [ 2 ] * proj [ 10 ] + modl [ 3 ] * proj [ 14 ] , modl [ 0 ] * proj [ 3 ] + modl [ 1 ] * proj [ 7 ] + modl [ 2 ] * proj [ 11 ] + modl [ 3 ] * proj [ 15 ] , modl [ 4 ] * proj [ 0 ] + modl [ 5 ] * proj [ 4 ] + modl [ 6 ] * proj [ 8 ] + modl [ 7 ] * proj [ 12 ] , modl [ 4 ] * proj [ 1 ] + modl [ 5 ] * proj [ 5 ] + modl [ 6 ] * proj [ 9 ] + modl [ 7 ] * proj [ 13 ] , modl [ 4 ] * proj [ 2 ] + modl [ 5 ] * proj [ 6 ] + modl [ 6 ] * proj [ 10 ] + modl [ 7 ] * proj [ 14 ] , modl [ 4 ] * proj [ 3 ] + modl [ 5 ] * proj [ 7 ] + modl [ 6 ] * proj [ 11 ] + modl [ 7 ] * proj [ 15 ] , modl [ 8 ] * proj [ 0 ] + modl [ 9 ] * proj [ 4 ] + modl [ 10 ] * proj [ 8 ] + modl [ 11 ] * proj [ 12 ] , modl [ 8 ] * proj [ 1 ] + modl [ 9 ] * proj [ 5 ] + modl [ 10 ] * proj [ 9 ] + modl [ 11 ] * proj [ 13 ] , modl [ 8 ] * proj [ 2 ] + modl [ 9 ] * proj [ 6 ] + modl [ 10 ] * proj [ 10 ] + modl [ 11 ] * proj [ 14 ] , modl [ 8 ] * proj [ 3 ] + modl [ 9 ] * proj [ 7 ] + modl [ 10 ] * proj [ 11 ] + modl [ 11 ] * proj [ 15 ] , modl [ 12 ] * proj [ 0 ] + modl [ 13 ] * proj [ 4 ] + modl [ 14 ] * proj [ 8 ] + modl [ 15 ] * proj [ 12 ] , modl [ 12 ] * proj [ 1 ] + modl [ 13 ] * proj [ 5 ] + modl [ 14 ] * proj [ 9 ] + modl [ 15 ] * proj [ 13 ] , modl [ 12 ] * proj [ 2 ] + modl [ 13 ] * proj [ 6 ] + modl [ 14 ] * proj [ 10 ] + modl [ 15 ] * proj [ 14 ] , modl [ 12 ] * proj [ 3 ] + modl [ 13 ] * proj [ 7 ] + modl [ 14 ] * proj [ 11 ] + modl [ 15 ] * proj [ 15 ] , ] ; Frustum :: from_modelview_projection ( & clip ) }
Create a frustum from column major modelview and projection float arrays matrices
Create a frustum from column major modelview and projection float arrays matrices
modl
&[f32; 16]
proj
&[f32; 16]
modl
&[f32; 16]
proj
&[f32; 16]