diff options
author | Alex Sakhartchouk <alexst@google.com> | 2010-12-17 11:41:08 -0800 |
---|---|---|
committer | Alex Sakhartchouk <alexst@google.com> | 2010-12-17 11:41:08 -0800 |
commit | e27cdeeecba5b445e307d653d9cb7da007adfac3 (patch) | |
tree | 2bd196f42ef3d904c610f2b327642391a6724e20 /graphics/java/android/renderscript/Matrix4f.java | |
parent | 60e41fa4456ce6bc37a33b1e4b81a56e9411199b (diff) | |
download | frameworks_base-e27cdeeecba5b445e307d653d9cb7da007adfac3.zip frameworks_base-e27cdeeecba5b445e307d653d9cb7da007adfac3.tar.gz frameworks_base-e27cdeeecba5b445e307d653d9cb7da007adfac3.tar.bz2 |
API reaview cleanup
Change-Id: Ib1aaf81130ffa6b5e6c60096c27c969e8891db3f
Diffstat (limited to 'graphics/java/android/renderscript/Matrix4f.java')
-rw-r--r-- | graphics/java/android/renderscript/Matrix4f.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/graphics/java/android/renderscript/Matrix4f.java b/graphics/java/android/renderscript/Matrix4f.java index 5ffc21a..ea97509 100644 --- a/graphics/java/android/renderscript/Matrix4f.java +++ b/graphics/java/android/renderscript/Matrix4f.java @@ -31,6 +31,15 @@ public class Matrix4f { loadIdentity(); } + public Matrix4f(float[] dataArray) { + mMat = new float[16]; + System.arraycopy(dataArray, 0, mMat, 0, mMat.length); + } + + public float[] getArray() { + return mMat; + } + public float get(int i, int j) { return mMat[i*4 + j]; } @@ -147,6 +156,10 @@ public class Matrix4f { mMat[14]= -(f + n) / (f - n); } + public void loadOrthoWindow(int w, int h) { + loadOrtho(0,w, h,0, -1,1); + } + public void loadFrustum(float l, float r, float b, float t, float n, float f) { loadIdentity(); mMat[0] = 2 * n / (r - l); @@ -159,6 +172,14 @@ public class Matrix4f { mMat[15]= 0; } + public void loadPerspective(float fovy, float aspect, float near, float far) { + float top = near * (float)Math.tan((float) (fovy * Math.PI / 360.0f)); + float bottom = -top; + float left = bottom * aspect; + float right = top * aspect; + loadFrustum(left, right, bottom, top, near, far); + } + public void multiply(Matrix4f rhs) { Matrix4f tmp = new Matrix4f(); tmp.loadMultiply(this, rhs); |