From e9ad9a719dc66437ddf021d13e6ca736a23b5413 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Wed, 30 Sep 2009 17:36:20 -0700 Subject: Implement screen aligned bitmap drawing support. --- libs/rs/rsMatrix.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'libs/rs/rsMatrix.cpp') diff --git a/libs/rs/rsMatrix.cpp b/libs/rs/rsMatrix.cpp index 5f6819765d52..2f2140523c4e 100644 --- a/libs/rs/rsMatrix.cpp +++ b/libs/rs/rsMatrix.cpp @@ -85,7 +85,7 @@ void Matrix::loadRotate(float rot, float x, float y, float z) const float zx = z * x; const float xs = x * s; const float ys = y * s; - const float zs = z * s; + const float zs = z * s; m[ 0] = x*x*nc + c; m[ 4] = xy*nc - zs; m[ 8] = zx*nc + ys; @@ -156,4 +156,9 @@ void Matrix::loadFrustum(float l, float r, float b, float t, float n, float f) { m[15]= 0; } - +void Matrix::vectorMultiply(float *out, const float *in) const { + out[0] = (m[0] * in[0]) + (m[4] * in[1]) + (m[8] * in[2]) + m[12]; + out[1] = (m[1] * in[0]) + (m[5] * in[1]) + (m[9] * in[2]) + m[13]; + out[2] = (m[2] * in[0]) + (m[6] * in[1]) + (m[10] * in[2]) + m[14]; + out[3] = (m[3] * in[0]) + (m[7] * in[1]) + (m[11] * in[2]) + m[15]; +} -- cgit v1.2.3-59-g8ed1b