diff options
| author | 2009-09-30 17:36:20 -0700 | |
|---|---|---|
| committer | 2009-09-30 17:40:06 -0700 | |
| commit | e9ad9a719dc66437ddf021d13e6ca736a23b5413 (patch) | |
| tree | eaf8a1b1da324af59924a0d49eb6db36cae5b27c /libs/rs/rsMatrix.cpp | |
| parent | 5eb7c9d3e880032972c0d03dd34d9432fa7c719d (diff) | |
Implement screen aligned bitmap drawing support.
Diffstat (limited to 'libs/rs/rsMatrix.cpp')
| -rw-r--r-- | libs/rs/rsMatrix.cpp | 9 |
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]; +} |