-
-/*
- * http://www.terathon.com/lengyel/Lengyel-Oblique.pdf
- */
-static void m4x4_clip_projection( m4x4f mat, v4f plane )
-{
- v4f c =
- {
- (vg_signf(plane[0]) + mat[2][0]) / mat[0][0],
- (vg_signf(plane[1]) + mat[2][1]) / mat[1][1],
- -1.0f,
- (1.0f + mat[2][2]) / mat[3][2]
- };
-
- v4_muls( plane, 2.0f / v4_dot(plane,c), c );
-
- mat[0][2] = c[0];
- mat[1][2] = c[1];
- mat[2][2] = c[2] + 1.0f;
- mat[3][2] = c[3];
-}
-
-/*
- * Undoes the above operation
- */
-static void m4x4_reset_clipping( m4x4f mat, float ffar, float fnear )
-{
- mat[0][2] = 0.0f;
- mat[1][2] = 0.0f;
- mat[2][2] = -(ffar + fnear) / (ffar - fnear);
- mat[3][2] = -2.0f * ffar * fnear / (ffar - fnear);
-}
-
-#endif /* CAMERA_H */