diff options
author | Chris Craik <ccraik@google.com> | 2014-03-11 10:48:43 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2014-03-11 15:41:40 -0700 |
commit | e361ad7ab15fcf4919a56a6293689d968ee8dcff (patch) | |
tree | 19107b2e2deff5044db0580ab6701c2857d6a8e8 /libs/hwui/Matrix.cpp | |
parent | b26264948c01b097fe5bc12d5b486a759693ceb7 (diff) |
Remove experimental perspective projection
Change-Id: Iad688c8395ccd4673cc129973802b5f01dfb45ba
Diffstat (limited to 'libs/hwui/Matrix.cpp')
-rw-r--r-- | libs/hwui/Matrix.cpp | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/libs/hwui/Matrix.cpp b/libs/hwui/Matrix.cpp index 4f5cd26e94be..3d6188a0ddfa 100644 --- a/libs/hwui/Matrix.cpp +++ b/libs/hwui/Matrix.cpp @@ -372,84 +372,6 @@ void Matrix4::loadMultiply(const Matrix4& u, const Matrix4& v) { mType = kTypeUnknown; } -// translated from android.opengl.Matrix#frustumM() -void Matrix4::loadFrustum(float left, float top, float right, float bottom, float near, float far) { - float r_width = 1.0f / (right - left); - float r_height = 1.0f / (top - bottom); - float r_depth = 1.0f / (near - far); - float x = 2.0f * (near * r_width); - float y = 2.0f * (near * r_height); - float A = (right + left) * r_width; - float B = (top + bottom) * r_height; - float C = (far + near) * r_depth; - float D = 2.0f * (far * near * r_depth); - - memset(&data, 0, sizeof(data)); - mType = kTypeUnknown; - - data[kScaleX] = x; - data[kScaleY] = y; - data[8] = A; - data[9] = B; - data[kScaleZ] = C; - data[kTranslateZ] = D; - data[11] = -1.0f; -} - -// translated from android.opengl.Matrix#setLookAtM() -void Matrix4::loadLookAt(float eyeX, float eyeY, float eyeZ, - float centerX, float centerY, float centerZ, - float upX, float upY, float upZ) { - float fx = centerX - eyeX; - float fy = centerY - eyeY; - float fz = centerZ - eyeZ; - - // Normalize f - float rlf = 1.0f / sqrt(fx*fx + fy*fy + fz*fz); - fx *= rlf; - fy *= rlf; - fz *= rlf; - - // compute s = f x up (x means "cross product") - float sx = fy * upZ - fz * upY; - float sy = fz * upX - fx * upZ; - float sz = fx * upY - fy * upX; - - // and normalize s - float rls = 1.0f / sqrt(sx*sx + sy*sy + sz*sz); - sx *= rls; - sy *= rls; - sz *= rls; - - // compute u = s x f - float ux = sy * fz - sz * fy; - float uy = sz * fx - sx * fz; - float uz = sx * fy - sy * fx; - - mType = kTypeUnknown; - data[0] = sx; - data[1] = ux; - data[2] = -fx; - data[3] = 0.0f; - - data[4] = sy; - data[5] = uy; - data[6] = -fy; - data[7] = 0.0f; - - data[8] = sz; - data[9] = uz; - data[10] = -fz; - data[11] = 0.0f; - - data[12] = 0.0f; - data[13] = 0.0f; - data[14] = 0.0f; - data[15] = 1.0f; - - translate(-eyeX, -eyeY, -eyeZ); -} - void Matrix4::loadOrtho(float left, float right, float bottom, float top, float near, float far) { loadIdentity(); |