summaryrefslogtreecommitdiff
path: root/libs/rs/rsMatrix.cpp
diff options
context:
space:
mode:
author Jason Sams <rjsams@android.com> 2009-09-30 17:36:20 -0700
committer Jason Sams <rjsams@android.com> 2009-09-30 17:40:06 -0700
commite9ad9a719dc66437ddf021d13e6ca736a23b5413 (patch)
treeeaf8a1b1da324af59924a0d49eb6db36cae5b27c /libs/rs/rsMatrix.cpp
parent5eb7c9d3e880032972c0d03dd34d9432fa7c719d (diff)
Implement screen aligned bitmap drawing support.
Diffstat (limited to 'libs/rs/rsMatrix.cpp')
-rw-r--r--libs/rs/rsMatrix.cpp9
1 files changed, 7 insertions, 2 deletions
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];
+}