diff options
Diffstat (limited to 'libs/rs/java/RenderScript')
5 files changed, 0 insertions, 1477 deletions
diff --git a/libs/rs/java/RenderScript/Android.mk b/libs/rs/java/RenderScript/Android.mk deleted file mode 100644 index 616fbd2..0000000 --- a/libs/rs/java/RenderScript/Android.mk +++ /dev/null @@ -1,28 +0,0 @@ -# -# Copyright (C) 2008 Esmertec AG. -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -LOCAL_PATH := $(call my-dir) - -# the library -# ============================================================ -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(call all-subdir-java-files) - -LOCAL_MODULE:= android.renderscript - -include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/libs/rs/java/RenderScript/android/renderscript/Matrix.java b/libs/rs/java/RenderScript/android/renderscript/Matrix.java deleted file mode 100644 index 79b60d0..0000000 --- a/libs/rs/java/RenderScript/android/renderscript/Matrix.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.renderscript; - -import java.lang.Math; -import android.util.Log; - - -public class Matrix { - - public Matrix() { - mMat = new float[16]; - loadIdentity(); - } - - public float get(int i, int j) { - return mMat[i*4 + j]; - } - - public void set(int i, int j, float v) { - mMat[i*4 + j] = v; - } - - public void loadIdentity() { - mMat[0] = 1; - mMat[1] = 0; - mMat[2] = 0; - mMat[3] = 0; - - mMat[4] = 0; - mMat[5] = 1; - mMat[6] = 0; - mMat[7] = 0; - - mMat[8] = 0; - mMat[9] = 0; - mMat[10] = 1; - mMat[11] = 0; - - mMat[12] = 0; - mMat[13] = 0; - mMat[14] = 0; - mMat[15] = 1; - } - - public void load(Matrix src) { - mMat = src.mMat; - } - - public void loadRotate(float rot, float x, float y, float z) { - float c, s; - mMat[3] = 0; - mMat[7] = 0; - mMat[11]= 0; - mMat[12]= 0; - mMat[13]= 0; - mMat[14]= 0; - mMat[15]= 1; - rot *= (float)(java.lang.Math.PI / 180.0f); - c = (float)java.lang.Math.cos(rot); - s = (float)java.lang.Math.sin(rot); - - float len = (float)java.lang.Math.sqrt(x*x + y*y + z*z); - if (!(len != 1)) { - float recipLen = 1.f / len; - x *= recipLen; - y *= recipLen; - z *= recipLen; - } - float nc = 1.0f - c; - float xy = x * y; - float yz = y * z; - float zx = z * x; - float xs = x * s; - float ys = y * s; - float zs = z * s; - mMat[ 0] = x*x*nc + c; - mMat[ 4] = xy*nc - zs; - mMat[ 8] = zx*nc + ys; - mMat[ 1] = xy*nc + zs; - mMat[ 5] = y*y*nc + c; - mMat[ 9] = yz*nc - xs; - mMat[ 2] = zx*nc - ys; - mMat[ 6] = yz*nc + xs; - mMat[10] = z*z*nc + c; - } - - public void loadScale(float x, float y, float z) { - loadIdentity(); - mMat[0] = x; - mMat[5] = y; - mMat[10] = z; - } - - public void loadTranslate(float x, float y, float z) { - loadIdentity(); - mMat[12] = x; - mMat[13] = y; - mMat[14] = z; - } - - public void loadMultiply(Matrix lhs, Matrix rhs) { - for (int i=0 ; i<4 ; i++) { - float ri0 = 0; - float ri1 = 0; - float ri2 = 0; - float ri3 = 0; - for (int j=0 ; j<4 ; j++) { - float rhs_ij = rhs.get(i,j); - ri0 += lhs.get(j,0) * rhs_ij; - ri1 += lhs.get(j,1) * rhs_ij; - ri2 += lhs.get(j,2) * rhs_ij; - ri3 += lhs.get(j,3) * rhs_ij; - } - set(i,0, ri0); - set(i,1, ri1); - set(i,2, ri2); - set(i,3, ri3); - } - } - - public void loadOrtho(float l, float r, float b, float t, float n, float f) { - loadIdentity(); - mMat[0] = 2 / (r - l); - mMat[5] = 2 / (t - b); - mMat[10]= -2 / (f - n); - mMat[12]= -(r + l) / (r - l); - mMat[13]= -(t + b) / (t - b); - mMat[14]= -(f + n) / (f - n); - } - - public void loadFrustum(float l, float r, float b, float t, float n, float f) { - loadIdentity(); - mMat[0] = 2 * n / (r - l); - mMat[5] = 2 * n / (t - b); - mMat[8] = (r + l) / (r - l); - mMat[9] = (t + b) / (t - b); - mMat[10]= -(f + n) / (f - n); - mMat[11]= -1; - mMat[14]= -2*f*n / (f - n); - mMat[15]= 0; - } - - public void multiply(Matrix rhs) { - Matrix tmp = new Matrix(); - tmp.loadMultiply(this, rhs); - load(tmp); - } - public void rotate(float rot, float x, float y, float z) { - Matrix tmp = new Matrix(); - tmp.loadRotate(rot, x, y, z); - multiply(tmp); - } - public void scale(float x, float y, float z) { - Matrix tmp = new Matrix(); - tmp.loadScale(x, y, z); - multiply(tmp); - } - public void translate(float x, float y, float z) { - Matrix tmp = new Matrix(); - tmp.loadTranslate(x, y, z); - multiply(tmp); - } - - - - float[] mMat; - -} - - - - - diff --git a/libs/rs/java/RenderScript/android/renderscript/ProgramVertexAlloc.java b/libs/rs/java/RenderScript/android/renderscript/ProgramVertexAlloc.java deleted file mode 100644 index 020ddb2..0000000 --- a/libs/rs/java/RenderScript/android/renderscript/ProgramVertexAlloc.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.renderscript; - -import java.lang.Math; -import android.util.Log; - - -public class ProgramVertexAlloc { - public static final int MODELVIEW_OFFSET = 0; - public static final int PROJECTION_OFFSET = 16; - public static final int TEXTURE_OFFSET = 32; - - Matrix mModel; - Matrix mProjection; - Matrix mTexture; - - public RenderScript.Allocation mAlloc; - - public ProgramVertexAlloc(RenderScript rs) { - mModel = new Matrix(); - mProjection = new Matrix(); - mTexture = new Matrix(); - - mAlloc = rs.allocationCreatePredefSized( - RenderScript.ElementPredefined.USER_FLOAT, - 48); - - mAlloc.subData1D(MODELVIEW_OFFSET, 16, mModel.mMat); - mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat); - mAlloc.subData1D(TEXTURE_OFFSET, 16, mTexture.mMat); - } - - public void loadModelview(Matrix m) { - mModel = m; - mAlloc.subData1D(MODELVIEW_OFFSET, 16, m.mMat); - } - - public void loadProjection(Matrix m) { - mProjection = m; - mAlloc.subData1D(PROJECTION_OFFSET, 16, m.mMat); - } - - public void loadTexture(Matrix m) { - mTexture = m; - mAlloc.subData1D(TEXTURE_OFFSET, 16, m.mMat); - } - - public void setupOrthoWindow(int w, int h) { - mProjection.loadOrtho(0,w, h,0, -1,1); - mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat); - } - - public void setupOrthoNormalized(int w, int h) { - // range -1,1 in the narrow axis. - if(w > h) { - float aspect = ((float)w) / h; - mProjection.loadOrtho(-aspect,aspect, -1,1, -1,1); - } else { - float aspect = ((float)h) / w; - mProjection.loadOrtho(-1,1, -aspect,aspect, -1,1); - } - mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat); - } - - public void setupProjectionNormalized(int w, int h) { - // range -1,1 in the narrow axis at z = 0. - Matrix m1 = new Matrix(); - Matrix m2 = new Matrix(); - - if(w > h) { - float aspect = ((float)w) / h; - m1.loadFrustum(-aspect,aspect, -1,1, 1,100); - } else { - float aspect = ((float)h) / w; - m1.loadFrustum(-1,1, -aspect,aspect, 1,100); - } - - m2.loadRotate(180, 0, 1, 0); - m1.loadMultiply(m1, m2); - - m2.loadScale(-2, 2, 1); - m1.loadMultiply(m1, m2); - - m2.loadTranslate(0, 0, 2); - m1.loadMultiply(m1, m2); - - mProjection = m1; - mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat); - } - -} - - - - - - diff --git a/libs/rs/java/RenderScript/android/renderscript/RSSurfaceView.java b/libs/rs/java/RenderScript/android/renderscript/RSSurfaceView.java deleted file mode 100644 index 3835793..0000000 --- a/libs/rs/java/RenderScript/android/renderscript/RSSurfaceView.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.renderscript; - -import java.io.Writer; -import java.util.ArrayList; -import java.util.concurrent.Semaphore; - -import android.content.Context; -import android.os.Handler; -import android.os.Message; -import android.util.AttributeSet; -import android.util.Log; -import android.util.Log; -import android.view.Surface; -import android.view.SurfaceHolder; -import android.view.SurfaceView; - -public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback { - private SurfaceHolder mSurfaceHolder; - - /** - * Standard View constructor. In order to render something, you - * must call {@link #setRenderer} to register a renderer. - */ - public RSSurfaceView(Context context) { - super(context); - init(); - Log.v(RenderScript.LOG_TAG, "RSSurfaceView"); - } - - /** - * Standard View constructor. In order to render something, you - * must call {@link #setRenderer} to register a renderer. - */ - public RSSurfaceView(Context context, AttributeSet attrs) { - super(context, attrs); - init(); - Log.v(RenderScript.LOG_TAG, "RSSurfaceView"); - } - - private void init() { - // Install a SurfaceHolder.Callback so we get notified when the - // underlying surface is created and destroyed - SurfaceHolder holder = getHolder(); - holder.addCallback(this); - holder.setType(SurfaceHolder.SURFACE_TYPE_GPU); - } - - /** - * This method is part of the SurfaceHolder.Callback interface, and is - * not normally called or subclassed by clients of RSSurfaceView. - */ - public void surfaceCreated(SurfaceHolder holder) { - Log.v(RenderScript.LOG_TAG, "surfaceCreated"); - mSurfaceHolder = holder; - //mGLThread.surfaceCreated(); - } - - /** - * This method is part of the SurfaceHolder.Callback interface, and is - * not normally called or subclassed by clients of RSSurfaceView. - */ - public void surfaceDestroyed(SurfaceHolder holder) { - // Surface will be destroyed when we return - Log.v(RenderScript.LOG_TAG, "surfaceDestroyed"); - //mGLThread.surfaceDestroyed(); - } - - /** - * This method is part of the SurfaceHolder.Callback interface, and is - * not normally called or subclassed by clients of RSSurfaceView. - */ - public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { - Log.v(RenderScript.LOG_TAG, "surfaceChanged"); - - //mGLThread.onWindowResize(w, h); - } - - /** - * Inform the view that the activity is paused. The owner of this view must - * call this method when the activity is paused. Calling this method will - * pause the rendering thread. - * Must not be called before a renderer has been set. - */ - public void onPause() { - Log.v(RenderScript.LOG_TAG, "onPause"); - //mGLThread.onPause(); - } - - /** - * Inform the view that the activity is resumed. The owner of this view must - * call this method when the activity is resumed. Calling this method will - * recreate the OpenGL display and resume the rendering - * thread. - * Must not be called before a renderer has been set. - */ - public void onResume() { - Log.v(RenderScript.LOG_TAG, "onResume"); - //mGLThread.onResume(); - } - - /** - * Queue a runnable to be run on the GL rendering thread. This can be used - * to communicate with the Renderer on the rendering thread. - * Must not be called before a renderer has been set. - * @param r the runnable to be run on the GL rendering thread. - */ - public void queueEvent(Runnable r) { - Log.v(RenderScript.LOG_TAG, "queueEvent"); - //mGLThread.queueEvent(r); - } - - /** - * This method is used as part of the View class and is not normally - * called or subclassed by clients of RSSurfaceView. - * Must not be called before a renderer has been set. - */ - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - //mGLThread.requestExitAndWait(); - } - - // ---------------------------------------------------------------------- - - public RenderScript createRenderScript() { - Log.v(RenderScript.LOG_TAG, "createRenderScript 1"); - Surface sur = null; - while ((sur == null) || (mSurfaceHolder == null)) { - sur = getHolder().getSurface(); - } - Log.v(RenderScript.LOG_TAG, "createRenderScript 2"); - RenderScript rs = new RenderScript(sur); - Log.v(RenderScript.LOG_TAG, "createRenderScript 3 rs"); - return rs; - } - -} - diff --git a/libs/rs/java/RenderScript/android/renderscript/RenderScript.java b/libs/rs/java/RenderScript/android/renderscript/RenderScript.java deleted file mode 100644 index e355635..0000000 --- a/libs/rs/java/RenderScript/android/renderscript/RenderScript.java +++ /dev/null @@ -1,995 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.renderscript; - -import java.io.InputStream; -import java.io.IOException; - -import android.os.Bundle; -import android.content.res.Resources; -import android.util.Log; -import android.util.Config; -import android.view.Menu; -import android.view.MenuItem; -import android.view.Window; -import android.view.View; -import android.view.Surface; -import android.graphics.Bitmap; -import android.graphics.Color; - -public class RenderScript { - static final String LOG_TAG = "libRS_jni"; - private static final boolean DEBUG = false; - private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV; - - - - /* - * We use a class initializer to allow the native code to cache some - * field offsets. - */ - private static boolean sInitialized; - native private static void _nInit(); - - static { - sInitialized = false; - try { - System.loadLibrary("RS_jni"); - _nInit(); - sInitialized = true; - } catch (UnsatisfiedLinkError e) { - Log.d(LOG_TAG, "RenderScript JNI library not found!"); - } - } - - native private int nDeviceCreate(); - native private void nDeviceDestroy(int dev); - native private int nContextCreate(int dev, Surface sur, int ver); - native private void nContextDestroy(int con); - - //void rsContextBindSampler (uint32_t slot, RsSampler sampler); - //void rsContextBindRootScript (RsScript sampler); - native private void nContextBindRootScript(int script); - native private void nContextBindSampler(int sampler, int slot); - native private void nContextBindProgramFragmentStore(int pfs); - native private void nContextBindProgramFragment(int pf); - native private void nContextBindProgramVertex(int pf); - - native private void nAssignName(int obj, byte[] name); - native private int nFileOpen(byte[] name); - - native private void nElementBegin(); - native private void nElementAddPredefined(int predef); - native private void nElementAdd(int kind, int type, int norm, int bits); - native private int nElementCreate(); - native private int nElementGetPredefined(int predef); - native private void nElementDestroy(int obj); - - native private void nTypeBegin(int elementID); - native private void nTypeAdd(int dim, int val); - native private int nTypeCreate(); - native private void nTypeDestroy(int id); - - native private int nAllocationCreateTyped(int type); - native private int nAllocationCreatePredefSized(int predef, int count); - native private int nAllocationCreateSized(int elem, int count); - native private int nAllocationCreateFromBitmap(int dstFmt, boolean genMips, Bitmap bmp); - - native private void nAllocationUploadToTexture(int alloc, int baseMioLevel); - native private void nAllocationDestroy(int alloc); - native private void nAllocationData(int id, int[] d); - native private void nAllocationData(int id, float[] d); - native private void nAllocationSubData1D(int id, int off, int count, int[] d); - native private void nAllocationSubData1D(int id, int off, int count, float[] d); - native private void nAllocationSubData2D(int id, int xoff, int yoff, int w, int h, int[] d); - native private void nAllocationSubData2D(int id, int xoff, int yoff, int w, int h, float[] d); - - native private void nTriangleMeshDestroy(int id); - native private void nTriangleMeshBegin(int vertex, int index); - native private void nTriangleMeshAddVertex_XY (float x, float y); - native private void nTriangleMeshAddVertex_XYZ (float x, float y, float z); - native private void nTriangleMeshAddVertex_XY_ST (float x, float y, float s, float t); - native private void nTriangleMeshAddVertex_XYZ_ST (float x, float y, float z, float s, float t); - native private void nTriangleMeshAddVertex_XYZ_ST_NORM (float x, float y, float z, float s, float t, float nx, float ny, float nz); - native private void nTriangleMeshAddTriangle(int i1, int i2, int i3); - native private int nTriangleMeshCreate(); - - native private void nAdapter1DDestroy(int id); - native private void nAdapter1DBindAllocation(int ad, int alloc); - native private void nAdapter1DSetConstraint(int ad, int dim, int value); - native private void nAdapter1DData(int ad, int[] d); - native private void nAdapter1DSubData(int ad, int off, int count, int[] d); - native private void nAdapter1DData(int ad, float[] d); - native private void nAdapter1DSubData(int ad, int off, int count, float[] d); - native private int nAdapter1DCreate(); - - native private void nScriptDestroy(int script); - native private void nScriptBindAllocation(int vtm, int alloc, int slot); - native private void nScriptCBegin(); - native private void nScriptCSetClearColor(float r, float g, float b, float a); - native private void nScriptCSetClearDepth(float depth); - native private void nScriptCSetClearStencil(int stencil); - native private void nScriptCAddType(int type); - native private void nScriptCSetRoot(boolean isRoot); - native private void nScriptCSetScript(byte[] script, int offset, int length); - native private int nScriptCCreate(); - - native private void nSamplerDestroy(int sampler); - native private void nSamplerBegin(); - native private void nSamplerSet(int param, int value); - native private int nSamplerCreate(); - - native private void nProgramFragmentStoreBegin(int in, int out); - native private void nProgramFragmentStoreDepthFunc(int func); - native private void nProgramFragmentStoreDepthMask(boolean enable); - native private void nProgramFragmentStoreColorMask(boolean r, boolean g, boolean b, boolean a); - native private void nProgramFragmentStoreBlendFunc(int src, int dst); - native private void nProgramFragmentStoreDither(boolean enable); - native private int nProgramFragmentStoreCreate(); - native private void nProgramFragmentStoreDestroy(int pgm); - - native private void nProgramFragmentBegin(int in, int out); - native private void nProgramFragmentBindTexture(int vpf, int slot, int a); - native private void nProgramFragmentBindSampler(int vpf, int slot, int s); - native private void nProgramFragmentSetType(int slot, int vt); - native private void nProgramFragmentSetEnvMode(int slot, int env); - native private void nProgramFragmentSetTexEnable(int slot, boolean enable); - native private int nProgramFragmentCreate(); - native private void nProgramFragmentDestroy(int pgm); - - native private void nProgramVertexDestroy(int pv); - native private void nProgramVertexBindAllocation(int pv, int slot, int mID); - native private void nProgramVertexBegin(int inID, int outID); - native private void nProgramVertexSetType(int slot, int mID); - native private void nProgramVertexSetTextureMatrixEnable(boolean enable); - native private void nProgramVertexAddLight(int id); - native private int nProgramVertexCreate(); - - native private void nLightBegin(); - native private void nLightSetIsMono(boolean isMono); - native private void nLightSetIsLocal(boolean isLocal); - native private int nLightCreate(); - native private void nLightDestroy(int l); - native private void nLightSetColor(int l, float r, float g, float b); - native private void nLightSetPosition(int l, float x, float y, float z); - - - private int mDev; - private int mContext; - private Surface mSurface; - - - - /////////////////////////////////////////////////////////////////////////////////// - // - - RenderScript(Surface sur) { - mSurface = sur; - mDev = nDeviceCreate(); - mContext = nContextCreate(mDev, mSurface, 0); - } - - private class BaseObj { - BaseObj() { - mID = 0; - } - - public int getID() { - return mID; - } - - int mID; - String mName; - - public void setName(String s) throws IllegalStateException, IllegalArgumentException - { - if(s.length() < 1) { - throw new IllegalArgumentException("setName does not accept a zero length string."); - } - if(mName != null) { - throw new IllegalArgumentException("setName object already has a name."); - } - - try { - byte[] bytes = s.getBytes("UTF-8"); - nAssignName(mID, bytes); - mName = s; - } catch (java.io.UnsupportedEncodingException e) { - throw new RuntimeException(e); - } - } - - protected void finalize() throws Throwable - { - if (mID != 0) { - Log.v(LOG_TAG, - "Element finalized without having released the RS reference."); - } - super.finalize(); - } - } - - - ////////////////////////////////////////////////////////////////////////////////// - // Element - - public enum ElementPredefined { - USER_U8 (0), - USER_I8 (1), - USER_U16 (2), - USER_I16 (3), - USER_U32 (4), - USER_I32 (5), - USER_FLOAT (6), - - A_8 (7), - RGB_565 (8), - RGB_888 (11), - RGBA_5551 (9), - RGBA_4444 (10), - RGBA_8888 (12), - - INDEX_16 (13), - INDEX_32 (14), - XY_F32 (15), - XYZ_F32 (16), - ST_XY_F32 (17), - ST_XYZ_F32 (18), - NORM_XYZ_F32 (19), - NORM_ST_XYZ_F32 (20); - - int mID; - ElementPredefined(int id) { - mID = id; - } - } - - public enum DataType { - FLOAT (0), - UNSIGNED (1), - SIGNED (2); - - int mID; - DataType(int id) { - mID = id; - } - } - - public enum DataKind { - USER (0), - RED (1), - GREEN (2), - BLUE (3), - ALPHA (4), - LUMINANCE (5), - INTENSITY (6), - X (7), - Y (8), - Z (9), - W (10), - S (11), - T (12), - Q (13), - R (14), - NX (15), - NY (16), - NZ (17), - INDEX (18); - - int mID; - DataKind(int id) { - mID = id; - } - } - - public enum DepthFunc { - ALWAYS (0), - LESS (1), - LEQUAL (2), - GREATER (3), - GEQUAL (4), - EQUAL (5), - NOTEQUAL (6); - - int mID; - DepthFunc(int id) { - mID = id; - } - } - - public enum BlendSrcFunc { - ZERO (0), - ONE (1), - DST_COLOR (2), - ONE_MINUS_DST_COLOR (3), - SRC_ALPHA (4), - ONE_MINUS_SRC_ALPHA (5), - DST_ALPHA (6), - ONE_MINUS_DST_ALPA (7), - SRC_ALPHA_SATURATE (8); - - int mID; - BlendSrcFunc(int id) { - mID = id; - } - } - - public enum BlendDstFunc { - ZERO (0), - ONE (1), - SRC_COLOR (2), - ONE_MINUS_SRC_COLOR (3), - SRC_ALPHA (4), - ONE_MINUS_SRC_ALPHA (5), - DST_ALPHA (6), - ONE_MINUS_DST_ALPA (7); - - int mID; - BlendDstFunc(int id) { - mID = id; - } - } - - public enum EnvMode { - REPLACE (0), - MODULATE (1), - DECAL (2); - - int mID; - EnvMode(int id) { - mID = id; - } - } - - public enum SamplerParam { - FILTER_MIN (0), - FILTER_MAG (1), - WRAP_MODE_S (2), - WRAP_MODE_T (3), - WRAP_MODE_R (4); - - int mID; - SamplerParam(int id) { - mID = id; - } - } - - public enum SamplerValue { - NEAREST (0), - LINEAR (1), - LINEAR_MIP_LINEAR (2), - WRAP (3), - CLAMP (4); - - int mID; - SamplerValue(int id) { - mID = id; - } - } - - - - public class Element extends BaseObj { - Element(int id) { - mID = id; - } - - public void estroy() { - nElementDestroy(mID); - mID = 0; - } - } - - public void elementBegin() { - nElementBegin(); - } - - public void elementAddPredefined(ElementPredefined e) { - nElementAddPredefined(e.mID); - } - - public void elementAdd(DataType dt, DataKind dk, boolean isNormalized, int bits) { - int norm = 0; - if (isNormalized) { - norm = 1; - } - nElementAdd(dt.mID, dk.mID, norm, bits); - } - - public Element elementCreate() { - int id = nElementCreate(); - return new Element(id); - } - - public Element elementGetPredefined(ElementPredefined predef) { - int id = nElementGetPredefined(predef.mID); - return new Element(id); - } - - - ////////////////////////////////////////////////////////////////////////////////// - // Type - - public enum Dimension { - X (0), - Y (1), - Z (2), - LOD (3), - FACE (4), - ARRAY_0 (100); - - int mID; - Dimension(int id) { - mID = id; - } - } - - public class Type extends BaseObj { - Type(int id) { - mID = id; - } - - public void destroy() { - nTypeDestroy(mID); - mID = 0; - } - } - - public void typeBegin(Element e) { - nTypeBegin(e.mID); - } - - public void typeAdd(Dimension d, int value) { - nTypeAdd(d.mID, value); - } - - public Type typeCreate() { - int id = nTypeCreate(); - return new Type(id); - } - - - ////////////////////////////////////////////////////////////////////////////////// - // Allocation - - public class Allocation extends BaseObj { - Allocation(int id) { - mID = id; - } - - public void uploadToTexture(int baseMipLevel) { - nAllocationUploadToTexture(mID, baseMipLevel); - } - - public void destroy() { - nAllocationDestroy(mID); - mID = 0; - } - - public void data(int[] d) { - nAllocationData(mID, d); - } - - public void data(float[] d) { - nAllocationData(mID, d); - } - - public void subData1D(int off, int count, int[] d) { - nAllocationSubData1D(mID, off, count, d); - } - - public void subData1D(int off, int count, float[] d) { - nAllocationSubData1D(mID, off, count, d); - } - - public void subData2D(int xoff, int yoff, int w, int h, int[] d) { - nAllocationSubData2D(mID, xoff, yoff, w, h, d); - } - - public void subData2D(int xoff, int yoff, int w, int h, float[] d) { - nAllocationSubData2D(mID, xoff, yoff, w, h, d); - } - } - - public Allocation allocationCreateTyped(Type type) { - int id = nAllocationCreateTyped(type.mID); - return new Allocation(id); - } - - public Allocation allocationCreatePredefSized(ElementPredefined e, int count) { - int id = nAllocationCreatePredefSized(e.mID, count); - return new Allocation(id); - } - - public Allocation allocationCreateSized(Element e, int count) { - int id = nAllocationCreateSized(e.mID, count); - return new Allocation(id); - } - - public Allocation allocationCreateFromBitmap(Bitmap b, ElementPredefined dstFmt, boolean genMips) { - int id = nAllocationCreateFromBitmap(dstFmt.mID, genMips, b); - return new Allocation(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // Adapter1D - - public class Adapter1D extends BaseObj { - Adapter1D(int id) { - mID = id; - } - - public void destroy() { - nAdapter1DDestroy(mID); - mID = 0; - } - - public void bindAllocation(Allocation a) { - nAdapter1DBindAllocation(mID, a.mID); - } - - public void setConstraint(Dimension dim, int value) { - nAdapter1DSetConstraint(mID, dim.mID, value); - } - - public void data(int[] d) { - nAdapter1DData(mID, d); - } - - public void subData(int off, int count, int[] d) { - nAdapter1DSubData(mID, off, count, d); - } - - public void data(float[] d) { - nAdapter1DData(mID, d); - } - - public void subData(int off, int count, float[] d) { - nAdapter1DSubData(mID, off, count, d); - } - } - - public Adapter1D adapter1DCreate() { - int id = nAdapter1DCreate(); - return new Adapter1D(id); - } - - - ////////////////////////////////////////////////////////////////////////////////// - // Triangle Mesh - - public class TriangleMesh extends BaseObj { - TriangleMesh(int id) { - mID = id; - } - - public void destroy() { - nTriangleMeshDestroy(mID); - mID = 0; - } - } - - public void triangleMeshBegin(Element vertex, Element index) { - nTriangleMeshBegin(vertex.mID, index.mID); - } - - public void triangleMeshAddVertex_XY(float x, float y) { - nTriangleMeshAddVertex_XY(x, y); - } - - public void triangleMeshAddVertex_XYZ(float x, float y, float z) { - nTriangleMeshAddVertex_XYZ(x, y, z); - } - - public void triangleMeshAddVertex_XY_ST(float x, float y, float s, float t) { - nTriangleMeshAddVertex_XY_ST(x, y, s, t); - } - - public void triangleMeshAddVertex_XYZ_ST(float x, float y, float z, float s, float t) { - nTriangleMeshAddVertex_XYZ_ST(x, y, z, s, t); - } - - public void triangleMeshAddVertex_XYZ_ST_NORM(float x, float y, float z, float s, float t, float nx, float ny, float nz) { - nTriangleMeshAddVertex_XYZ_ST_NORM(x, y, z, s, t, nx, ny, nz); - } - - public void triangleMeshAddTriangle(int i1, int i2, int i3) { - nTriangleMeshAddTriangle(i1, i2, i3); - } - - public TriangleMesh triangleMeshCreate() { - int id = nTriangleMeshCreate(); - return new TriangleMesh(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // Script - - public class Script extends BaseObj { - Script(int id) { - mID = id; - } - - public void destroy() { - nScriptDestroy(mID); - mID = 0; - } - - public void bindAllocation(Allocation va, int slot) { - nScriptBindAllocation(mID, va.mID, slot); - } - } - - public void scriptCBegin() { - nScriptCBegin(); - } - - public void scriptCSetClearColor(float r, float g, float b, float a) { - nScriptCSetClearColor(r, g, b, a); - } - - public void scriptCSetClearDepth(float d) { - nScriptCSetClearDepth(d); - } - - public void scriptCSetClearStencil(int stencil) { - nScriptCSetClearStencil(stencil); - } - - public void scriptCAddType(Type t) { - nScriptCAddType(t.mID); - } - - public void scriptCSetRoot(boolean r) { - nScriptCSetRoot(r); - } - - public void scriptCSetScript(String s) { - try { - byte[] bytes = s.getBytes("UTF-8"); - nScriptCSetScript(bytes, 0, bytes.length); - } catch (java.io.UnsupportedEncodingException e) { - throw new RuntimeException(e); - } - } - - public void scriptCSetScript(Resources resources, int id) { - InputStream is = resources.openRawResource(id); - try { - try { - scriptCSetScript(is); - } finally { - is.close(); - } - } catch(IOException e) { - throw new Resources.NotFoundException(); - } - } - - public void scriptCSetScript(InputStream is) throws IOException { - byte[] buf = new byte[1024]; - int currentPos = 0; - while(true) { - int bytesLeft = buf.length - currentPos; - if (bytesLeft == 0) { - byte[] buf2 = new byte[buf.length * 2]; - System.arraycopy(buf, 0, buf2, 0, buf.length); - buf = buf2; - bytesLeft = buf.length - currentPos; - } - int bytesRead = is.read(buf, currentPos, bytesLeft); - if (bytesRead <= 0) { - break; - } - currentPos += bytesRead; - } - nScriptCSetScript(buf, 0, currentPos); - } - - public Script scriptCCreate() { - int id = nScriptCCreate(); - return new Script(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // ProgramVertex - - public class ProgramVertex extends BaseObj { - ProgramVertex(int id) { - mID = id; - } - - public void destroy() { - nProgramVertexDestroy(mID); - mID = 0; - } - - public void bindAllocation(int slot, Allocation va) { - nProgramVertexBindAllocation(mID, slot, va.mID); - } - } - - public void programVertexBegin(Element in, Element out) { - int inID = 0; - int outID = 0; - if (in != null) { - inID = in.mID; - } - if (out != null) { - outID = out.mID; - } - nProgramVertexBegin(inID, outID); - } - - public void programVertexSetType(int slot, Type t) { - nProgramVertexSetType(slot, t.mID); - } - - public void programVertexSetTextureMatrixEnable(boolean enable) { - nProgramVertexSetTextureMatrixEnable(enable); - } - - public void programVertexAddLight(Light l) { - nProgramVertexAddLight(l.mID); - } - - public ProgramVertex programVertexCreate() { - int id = nProgramVertexCreate(); - return new ProgramVertex(id); - } - - - ////////////////////////////////////////////////////////////////////////////////// - // ProgramFragmentStore - - public class ProgramFragmentStore extends BaseObj { - ProgramFragmentStore(int id) { - mID = id; - } - - public void destroy() { - nProgramFragmentStoreDestroy(mID); - mID = 0; - } - } - - public void programFragmentStoreBegin(Element in, Element out) { - int inID = 0; - int outID = 0; - if (in != null) { - inID = in.mID; - } - if (out != null) { - outID = out.mID; - } - nProgramFragmentStoreBegin(inID, outID); - } - - public void programFragmentStoreDepthFunc(DepthFunc func) { - nProgramFragmentStoreDepthFunc(func.mID); - } - - public void programFragmentStoreDepthMask(boolean enable) { - nProgramFragmentStoreDepthMask(enable); - } - - public void programFragmentStoreColorMask(boolean r, boolean g, boolean b, boolean a) { - nProgramFragmentStoreColorMask(r,g,b,a); - } - - public void programFragmentStoreBlendFunc(BlendSrcFunc src, BlendDstFunc dst) { - nProgramFragmentStoreBlendFunc(src.mID, dst.mID); - } - - public void programFragmentStoreDitherEnable(boolean enable) { - nProgramFragmentStoreDither(enable); - } - - public ProgramFragmentStore programFragmentStoreCreate() { - int id = nProgramFragmentStoreCreate(); - return new ProgramFragmentStore(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // ProgramFragment - - public class ProgramFragment extends BaseObj { - ProgramFragment(int id) { - mID = id; - } - - public void destroy() { - nProgramFragmentDestroy(mID); - mID = 0; - } - - public void bindTexture(Allocation va, int slot) { - nProgramFragmentBindTexture(mID, slot, va.mID); - } - - public void bindSampler(Sampler vs, int slot) { - nProgramFragmentBindSampler(mID, slot, vs.mID); - } - } - - public void programFragmentBegin(Element in, Element out) { - int inID = 0; - int outID = 0; - if (in != null) { - inID = in.mID; - } - if (out != null) { - outID = out.mID; - } - nProgramFragmentBegin(inID, outID); - } - - public void programFragmentSetType(int slot, Type t) { - nProgramFragmentSetType(slot, t.mID); - } - - public void programFragmentSetType(int slot, EnvMode t) { - nProgramFragmentSetEnvMode(slot, t.mID); - } - - public void programFragmentSetTexEnable(int slot, boolean enable) { - nProgramFragmentSetTexEnable(slot, enable); - } - - public void programFragmentSetTexEnvMode(int slot, EnvMode env) { - nProgramFragmentSetEnvMode(slot, env.mID); - } - - public ProgramFragment programFragmentCreate() { - int id = nProgramFragmentCreate(); - return new ProgramFragment(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // Sampler - - public class Sampler extends BaseObj { - Sampler(int id) { - mID = id; - } - - public void destroy() { - nSamplerDestroy(mID); - mID = 0; - } - } - - public void samplerBegin() { - nSamplerBegin(); - } - - public void samplerSet(SamplerParam p, SamplerValue v) { - nSamplerSet(p.mID, v.mID); - } - - public Sampler samplerCreate() { - int id = nSamplerCreate(); - return new Sampler(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // Light - - public class Light extends BaseObj { - Light(int id) { - mID = id; - } - - public void destroy() { - nLightDestroy(mID); - mID = 0; - } - - public void setColor(float r, float g, float b) { - nLightSetColor(mID, r, g, b); - } - - public void setPosition(float x, float y, float z) { - nLightSetPosition(mID, x, y, z); - } - } - - public void lightBegin() { - nLightBegin(); - } - - public void lightSetIsMono(boolean isMono) { - nLightSetIsMono(isMono); - } - - public void lightSetIsLocal(boolean isLocal) { - nLightSetIsLocal(isLocal); - } - - public Light lightCreate() { - int id = nLightCreate(); - return new Light(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // File - - public class File extends BaseObj { - File(int id) { - mID = id; - } - - public void destroy() { - //nLightDestroy(mID); - mID = 0; - } - } - - public File fileOpen(String s) throws IllegalStateException, IllegalArgumentException - { - if(s.length() < 1) { - throw new IllegalArgumentException("fileOpen does not accept a zero length string."); - } - - try { - byte[] bytes = s.getBytes("UTF-8"); - int id = nFileOpen(bytes); - return new File(id); - } catch (java.io.UnsupportedEncodingException e) { - throw new RuntimeException(e); - } - } - - - /////////////////////////////////////////////////////////////////////////////////// - // Root state - - public void contextBindRootScript(Script s) { - nContextBindRootScript(s.mID); - } - - //public void contextBindSampler(Sampler s, int slot) { - //nContextBindSampler(s.mID); - //} - - public void contextBindProgramFragmentStore(ProgramFragmentStore pfs) { - nContextBindProgramFragmentStore(pfs.mID); - } - - public void contextBindProgramFragment(ProgramFragment pf) { - nContextBindProgramFragment(pf.mID); - } - - public void contextBindProgramVertex(ProgramVertex pf) { - nContextBindProgramVertex(pf.mID); - } - -/* - RsAdapter2D rsAdapter2DCreate (); - void rsAdapter2DBindAllocation (RsAdapter2D adapt, RsAllocation alloc); - void rsAdapter2DDestroy (RsAdapter2D adapter); - void rsAdapter2DSetConstraint (RsAdapter2D adapter, RsDimension dim, uint32_t value); - void rsAdapter2DData (RsAdapter2D adapter, const void * data); - void rsAdapter2DSubData (RsAdapter2D adapter, uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void * data); - void rsSamplerBegin (); - void rsSamplerSet (RsSamplerParam p, RsSamplerValue value); - RsSampler rsSamplerCreate (); - void rsSamplerBind (RsSampler sampler, RsAllocation alloc); -*/ - -} - |