diff options
Diffstat (limited to 'src/libjin/math/matrix.cpp')
-rw-r--r-- | src/libjin/math/matrix.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libjin/math/matrix.cpp b/src/libjin/math/matrix.cpp index 39042f0..a80f37a 100644 --- a/src/libjin/math/matrix.cpp +++ b/src/libjin/math/matrix.cpp @@ -8,6 +8,8 @@ namespace jin namespace math { + const Matrix Matrix::Identity; + // | e0 e4 e8 e12 | // | e1 e5 e9 e13 | // | e2 e6 e10 e14 | @@ -22,6 +24,21 @@ namespace math { } + void Matrix::setOrtho(float l, float r, float b, float t, float n, float f) + { + float w = r - l; + float h = t - b; + float z = f - n; + setIdentity(); + e[0] = 2 / w; + e[5] = 2 / h; + e[10] = -2 / z; + e[12] = -(r + l) / w; + e[13] = -(t + b) / h; + e[14] = -(f + n) / z; + e[15] = 1; + } + // | e0 e4 e8 e12 | // | e1 e5 e9 e13 | // | e2 e6 e10 e14 | |