Loading libs/rs/java/Rollo/res/raw/rollo.c +0 −33 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ int main(void* con, int ft, int launchID) int col; int imageID; int iconCount; int pressure; float f = loadF(2, 0); pfClearColor(0.0f, 0.0f, 0.0f, f); Loading @@ -57,48 +56,16 @@ int main(void* con, int ft, int launchID) float diam = 8.f;// + curve * 2.f; float scale = 1.0f / zoom; pressure = loadI32(0, STATE_PRESSURE); if (pressure) { contextBindProgramFragmentStore(NAMED_PFSShadow); // compute the projected shadow float x = loadI32(0, STATE_POS_X) / 1000.f; float y = loadI32(0, STATE_POS_Y) / 1000.f; float s = loadI32(0, STATE_PRESSURE) / 1000.f; s = s * 3.f; float dxdy1 = (x - 0.5f - s) / (1.001f - y); float dxdy2 = (x - 0.5f + s) / (1.001f - y); float xlt = y * dxdy1 + x; float xrt = y * dxdy2 + x; float yb = (0.5f - y) * 5.f + 0.2f; drawQuad(xlt, 5.f, 1, xrt, 5.f, 1, x + s, yb, 1, x - s, yb, 1); contextBindProgramFragmentStore(NAMED_PFS); } rot = rot * scale; float rotStep = 20.0f / 180.0f * 3.14f * scale; //pressure = loadI32(0, 2); rowCount = 4; iconCount = 32;//loadI32(0, 1); while (iconCount) { float tmpSin = sinf(rot); float tmpCos = cosf(rot); //tmpCos = tmpCos * curve; float tx1 = tmpSin * diam - (tmpCos * scale); float tx2 = tx1 + (tmpCos * scale * 2.f); float tz1 = tmpCos * diam + (tmpSin * scale); float tz2 = tz1 - (tmpSin * scale * 2.f); Loading libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java +0 −23 Original line number Diff line number Diff line Loading @@ -70,18 +70,6 @@ public class RolloRS { mAllocState.data(mAllocStateBuf); } public void setShadow(float x, float y, float size) { // x and y are normalized at this point. mAllocStateBuf[STATE_POS_X] = (int)(x * 1000); mAllocStateBuf[STATE_POS_Y] = (int)(y * 1000); mAllocStateBuf[STATE_PRESSURE] = (int)(size * 1000); //Log.e("rs","shadow x=" + Integer.toString(mAllocStateBuf[STATE_POS_X]) + //" y=" + Integer.toString(mAllocStateBuf[STATE_POS_X]) + //" s=" + Integer.toString(mAllocStateBuf[STATE_PRESSURE])); mAllocState.data(mAllocStateBuf); } public void setZoom(float z) { //Log.e("rs", "zoom " + Float.toString(z)); Loading @@ -104,7 +92,6 @@ public class RolloRS { private RenderScript.Sampler mSampler; private RenderScript.ProgramFragmentStore mPFSBackground; private RenderScript.ProgramFragmentStore mPFSShadow; private RenderScript.ProgramFragment mPFBackground; private RenderScript.ProgramFragment mPFImages; private RenderScript.ProgramVertex mPV; Loading Loading @@ -153,16 +140,6 @@ public class RolloRS { mPFSBackground = mRS.programFragmentStoreCreate(); mPFSBackground.setName("PFS"); mRS.programFragmentStoreBegin(null, null); mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.ALWAYS); mRS.programFragmentStoreDitherEnable(false); mRS.programFragmentStoreDepthMask(true); mRS.programFragmentStoreColorMask(false, false, false, false); mPFSShadow = mRS.programFragmentStoreCreate(); mPFSShadow.setName("PFSShadow"); mPVAlloc = new ProgramVertexAlloc(mRS); mRS.programVertexBegin(null, null); mRS.programVertexSetTextureMatrixEnable(true); Loading libs/rs/java/Rollo/src/com/android/rollo/RolloView.java +1 −4 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ public class RolloView extends RSSurfaceView { mRender.setTouch(ret); if((ny > 0.85f) || mControlMode) { mRender.setShadow(0, 0, 0); mFlingMode = false; // Projector control Loading @@ -107,7 +106,7 @@ public class RolloView extends RSSurfaceView { mControlMode = false; } } mColumn += dx * 3;// * zoom; mColumn += -dx * 2.3;// * zoom; mColumn += -(mZoom - zoom) * (nx - 0.5f) * 2 * zoom; mZoom = zoom; Loading Loading @@ -155,10 +154,8 @@ public class RolloView extends RSSurfaceView { mFlingMode = true; mFlingX = nx; mFlingY = ny; //mRender.setShadow(nx, ny, ev.getSize()); } else { mFlingMode = false; mRender.setShadow(nx, ny, 0); } } Loading Loading
libs/rs/java/Rollo/res/raw/rollo.c +0 −33 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ int main(void* con, int ft, int launchID) int col; int imageID; int iconCount; int pressure; float f = loadF(2, 0); pfClearColor(0.0f, 0.0f, 0.0f, f); Loading @@ -57,48 +56,16 @@ int main(void* con, int ft, int launchID) float diam = 8.f;// + curve * 2.f; float scale = 1.0f / zoom; pressure = loadI32(0, STATE_PRESSURE); if (pressure) { contextBindProgramFragmentStore(NAMED_PFSShadow); // compute the projected shadow float x = loadI32(0, STATE_POS_X) / 1000.f; float y = loadI32(0, STATE_POS_Y) / 1000.f; float s = loadI32(0, STATE_PRESSURE) / 1000.f; s = s * 3.f; float dxdy1 = (x - 0.5f - s) / (1.001f - y); float dxdy2 = (x - 0.5f + s) / (1.001f - y); float xlt = y * dxdy1 + x; float xrt = y * dxdy2 + x; float yb = (0.5f - y) * 5.f + 0.2f; drawQuad(xlt, 5.f, 1, xrt, 5.f, 1, x + s, yb, 1, x - s, yb, 1); contextBindProgramFragmentStore(NAMED_PFS); } rot = rot * scale; float rotStep = 20.0f / 180.0f * 3.14f * scale; //pressure = loadI32(0, 2); rowCount = 4; iconCount = 32;//loadI32(0, 1); while (iconCount) { float tmpSin = sinf(rot); float tmpCos = cosf(rot); //tmpCos = tmpCos * curve; float tx1 = tmpSin * diam - (tmpCos * scale); float tx2 = tx1 + (tmpCos * scale * 2.f); float tz1 = tmpCos * diam + (tmpSin * scale); float tz2 = tz1 - (tmpSin * scale * 2.f); Loading
libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java +0 −23 Original line number Diff line number Diff line Loading @@ -70,18 +70,6 @@ public class RolloRS { mAllocState.data(mAllocStateBuf); } public void setShadow(float x, float y, float size) { // x and y are normalized at this point. mAllocStateBuf[STATE_POS_X] = (int)(x * 1000); mAllocStateBuf[STATE_POS_Y] = (int)(y * 1000); mAllocStateBuf[STATE_PRESSURE] = (int)(size * 1000); //Log.e("rs","shadow x=" + Integer.toString(mAllocStateBuf[STATE_POS_X]) + //" y=" + Integer.toString(mAllocStateBuf[STATE_POS_X]) + //" s=" + Integer.toString(mAllocStateBuf[STATE_PRESSURE])); mAllocState.data(mAllocStateBuf); } public void setZoom(float z) { //Log.e("rs", "zoom " + Float.toString(z)); Loading @@ -104,7 +92,6 @@ public class RolloRS { private RenderScript.Sampler mSampler; private RenderScript.ProgramFragmentStore mPFSBackground; private RenderScript.ProgramFragmentStore mPFSShadow; private RenderScript.ProgramFragment mPFBackground; private RenderScript.ProgramFragment mPFImages; private RenderScript.ProgramVertex mPV; Loading Loading @@ -153,16 +140,6 @@ public class RolloRS { mPFSBackground = mRS.programFragmentStoreCreate(); mPFSBackground.setName("PFS"); mRS.programFragmentStoreBegin(null, null); mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.ALWAYS); mRS.programFragmentStoreDitherEnable(false); mRS.programFragmentStoreDepthMask(true); mRS.programFragmentStoreColorMask(false, false, false, false); mPFSShadow = mRS.programFragmentStoreCreate(); mPFSShadow.setName("PFSShadow"); mPVAlloc = new ProgramVertexAlloc(mRS); mRS.programVertexBegin(null, null); mRS.programVertexSetTextureMatrixEnable(true); Loading
libs/rs/java/Rollo/src/com/android/rollo/RolloView.java +1 −4 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ public class RolloView extends RSSurfaceView { mRender.setTouch(ret); if((ny > 0.85f) || mControlMode) { mRender.setShadow(0, 0, 0); mFlingMode = false; // Projector control Loading @@ -107,7 +106,7 @@ public class RolloView extends RSSurfaceView { mControlMode = false; } } mColumn += dx * 3;// * zoom; mColumn += -dx * 2.3;// * zoom; mColumn += -(mZoom - zoom) * (nx - 0.5f) * 2 * zoom; mZoom = zoom; Loading Loading @@ -155,10 +154,8 @@ public class RolloView extends RSSurfaceView { mFlingMode = true; mFlingX = nx; mFlingY = ny; //mRender.setShadow(nx, ny, ev.getSize()); } else { mFlingMode = false; mRender.setShadow(nx, ny, 0); } } Loading