X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcore%2Fmatrix.cpp;h=54dbdff6ca0c2355105a523c54352c543bb13458;hp=0eb9e916aac6a56cffcc4de00ec08d35edc77812;hb=acd7bb6e23e2aff9934ecf32852c62ba72c13574;hpb=6211e1556df8345ad1c4e7edbd635bccdd7f54f0 diff --git a/source/core/matrix.cpp b/source/core/matrix.cpp index 0eb9e916..54dbdff6 100644 --- a/source/core/matrix.cpp +++ b/source/core/matrix.cpp @@ -65,10 +65,10 @@ Matrix Matrix::ortho(float l, float r, float b, float t, float n, float f) Matrix result; result(0, 0) = 2/(r-l); result(1, 1) = 2/(t-b); - result(2, 2) = -2/(f-n); + result(2, 2) = -1/(f-n); result(0, 3) = -(r+l)/(r-l); result(1, 3) = -(t+b)/(t-b); - result(2, 3) = -(f+n)/(f-n); + result(2, 3) = 0.5f-0.5f*(f+n)/(f-n); return result; } @@ -97,9 +97,9 @@ Matrix Matrix::frustum(float l, float r, float b, float t, float n, float f) result(1, 1) = 2*n/(t-b); result(0, 2) = (r+l)/(r-l); result(1, 2) = (t+b)/(t-b); - result(2, 2) = -(f+n)/(f-n); + result(2, 2) = -f/(f-n); result(3, 2) = -1; - result(2, 3) = -2*f*n/(f-n); + result(2, 3) = -f*n/(f-n); result(3, 3) = 0; return result; }