Reduce casting of zero value
This commit is contained in:
parent
98091e0a2e
commit
2904be296e
1 changed files with 22 additions and 20 deletions
|
@ -26,25 +26,27 @@ pure fn perspective<T:Copy NumCast Neg<T>>(fovy: float, aspectRatio: float, near
|
|||
//
|
||||
#[inline(always)]
|
||||
pure fn frustum<T:Copy NumCast Neg<T>>(left: float, right: float, bottom: float, top: float, near: float, far: float) -> Mat4<T> {
|
||||
let m00 = cast((2f * near) / (right - left));
|
||||
let m01 = cast(0f);
|
||||
let m02 = cast(0f);
|
||||
let m03 = cast(0f);
|
||||
let m10 = cast(0f);
|
||||
let m11 = cast((2f * near) / (top - bottom));
|
||||
let m12 = cast(0f);
|
||||
let m13 = cast(0f);
|
||||
let m20 = cast((right + left) / (right - left));
|
||||
let m21 = cast((top + bottom) / (top - bottom));
|
||||
let m22 = cast(-(far + near) / (far - near));
|
||||
let m23 = cast(-1f);
|
||||
let m30 = cast(0f);
|
||||
let m31 = cast(0f);
|
||||
let m32 = cast(-(2f * far * near) / (far - near));
|
||||
let m33 = cast(0f);
|
||||
let _0 = cast(0);
|
||||
|
||||
return Mat4::new(m00, m01, m02, m03,
|
||||
m10, m11, m12, m13,
|
||||
m20, m21, m22, m23,
|
||||
m30, m31, m32, m33);
|
||||
let c0r0 = cast((2f * near) / (right - left));
|
||||
let c0r1 = _0;
|
||||
let c0r2 = _0;
|
||||
let c0r3 = _0;
|
||||
let c1r0 = _0;
|
||||
let c1r1 = cast((2f * near) / (top - bottom));
|
||||
let c1r2 = _0;
|
||||
let c1r3 = _0;
|
||||
let c2r0 = cast((right + left) / (right - left));
|
||||
let c2r1 = cast((top + bottom) / (top - bottom));
|
||||
let c2r2 = cast(-(far + near) / (far - near));
|
||||
let c2r3 = cast(-1);
|
||||
let c3r0 = _0;
|
||||
let c3r1 = _0;
|
||||
let c3r2 = cast(-(2f * far * near) / (far - near));
|
||||
let c3r3 = _0;
|
||||
|
||||
return Mat4::new(c0r0, c0r1, c0r2, c0r3,
|
||||
c1r0, c1r1, c1r2, c1r3,
|
||||
c2r0, c2r1, c2r2, c2r3,
|
||||
c3r0, c3r1, c3r2, c3r3);
|
||||
}
|
Loading…
Reference in a new issue