Revision 513b2e9c
Added by Leszek Koltunski over 5 years ago
| src/main/java/org/distorted/examples/check/CheckRenderer.java | ||
|---|---|---|
| 66 | 66 |
private DistortedScreen mScreen; |
| 67 | 67 |
private int mObjHeight, mObjWidth; |
| 68 | 68 |
private Static3D mScale, mSwirl1, mSwirl2, mDeform1, mDeform2; |
| 69 |
private Static1D mRadius; |
|
| 69 | 70 |
|
| 70 | 71 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 71 | 72 |
|
| ... | ... | |
| 88 | 89 |
mDeform2= new Static3D(0,0,0); |
| 89 | 90 |
mScale = new Static3D(1,1,1); |
| 90 | 91 |
|
| 92 |
mRadius = new Static1D(0); |
|
| 93 |
|
|
| 91 | 94 |
mEffects = new DistortedEffects(); |
| 92 | 95 |
mEffects.apply(new MatrixEffectScale(mScale)); |
| 93 | 96 |
|
| ... | ... | |
| 110 | 113 |
dDeform.add(mDeform1); |
| 111 | 114 |
dDeform.add(mDeform2); |
| 112 | 115 |
|
| 113 |
if( !mEffects.apply( new VertexEffectDeform(dDeform,new Static3D(0,0,0)) ) ) |
|
| 116 |
if( !mEffects.apply( new VertexEffectDeform(dDeform, mRadius, new Static3D(0,0,0)) ) )
|
|
| 114 | 117 |
{
|
| 115 | 118 |
Log.e("Check", "Failed to add Deform effect!");
|
| 116 | 119 |
} |
| ... | ... | |
| 175 | 178 |
mObjHeight = bitmap.getHeight(); |
| 176 | 179 |
mObjWidth = bitmap.getWidth(); |
| 177 | 180 |
|
| 181 |
mRadius.set(mObjWidth/2); |
|
| 182 |
|
|
| 178 | 183 |
if( mTexture==null ) mTexture = new DistortedTexture(); |
| 179 | 184 |
mTexture.setTexture(bitmap); |
| 180 | 185 |
|
| src/main/java/org/distorted/examples/deform/DeformRenderer.java | ||
|---|---|---|
| 36 | 36 |
|
| 37 | 37 |
import org.distorted.library.message.EffectListener; |
| 38 | 38 |
import org.distorted.library.type.Dynamic3D; |
| 39 |
import org.distorted.library.type.Static1D; |
|
| 39 | 40 |
import org.distorted.library.type.Static3D; |
| 40 | 41 |
import org.distorted.library.type.Static4D; |
| 41 | 42 |
|
| ... | ... | |
| 140 | 141 |
mScreen = new DistortedScreen(); |
| 141 | 142 |
mScreen.showFPS(); |
| 142 | 143 |
|
| 143 |
mMovingDistort = new VertexEffectDistort( movingDistortDynamic , mTouchPoint, mRegion); |
|
| 144 |
mMovingDeform = new VertexEffectDeform ( movingDeformDynamic , mTouchPoint, mRegion); |
|
| 145 |
mMovingShear = new MatrixEffectShear ( movingShearDynamic , mTouchPoint ); |
|
| 146 |
mReleasedDistort = new VertexEffectDistort( releasedDistortDynamic, mTouchPoint, mRegion); |
|
| 147 |
mReleasedDeform = new VertexEffectDeform ( releasedDeformDynamic , mTouchPoint, mRegion); |
|
| 148 |
mReleasedShear = new MatrixEffectShear ( releasedShearDynamic , mTouchPoint ); |
|
| 144 |
Static1D deformRadius = new Static1D(0.5f); |
|
| 145 |
|
|
| 146 |
mMovingDistort = new VertexEffectDistort( movingDistortDynamic , mTouchPoint, mRegion); |
|
| 147 |
mMovingDeform = new VertexEffectDeform ( movingDeformDynamic , deformRadius, mTouchPoint, mRegion); |
|
| 148 |
mMovingShear = new MatrixEffectShear ( movingShearDynamic , mTouchPoint ); |
|
| 149 |
mReleasedDistort = new VertexEffectDistort( releasedDistortDynamic, mTouchPoint, mRegion); |
|
| 150 |
mReleasedDeform = new VertexEffectDeform ( releasedDeformDynamic , deformRadius, mTouchPoint, mRegion); |
|
| 151 |
mReleasedShear = new MatrixEffectShear ( releasedShearDynamic , mTouchPoint ); |
|
| 149 | 152 |
} |
| 150 | 153 |
|
| 151 | 154 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/examples/differentbitmaps/DifferentBitmapsRenderer.java | ||
|---|---|---|
| 69 | 69 |
Dynamic3D dDistort = new Dynamic3D(3000,0.0f); |
| 70 | 70 |
dDistort.add(new Static3D( 25,0,0)); |
| 71 | 71 |
dDistort.add(new Static3D(-25,0,0)); |
| 72 |
Static3D mPoint = new Static3D(0,-60,0); |
|
| 72 |
Static3D point = new Static3D(0,-60,0); |
|
| 73 |
Static4D region= new Static4D(0,0,0,300); |
|
| 73 | 74 |
|
| 74 | 75 |
mEffects = new DistortedEffects[NUM]; |
| 75 | 76 |
mEffects[0] = new DistortedEffects(); |
| ... | ... | |
| 78 | 79 |
|
| 79 | 80 |
// Add the effects only to the first queue - all VERTEX and FRAGMENT effects are shared! |
| 80 | 81 |
// (Matrix effect cannot be shared as we have to display each Texture in a different location) |
| 81 |
VertexEffectSink sink = new VertexEffectSink(new Static1D(8), mPoint, new Static4D(0,0,0,80));
|
|
| 82 |
VertexEffectDistort distort = new VertexEffectDistort(dDistort,mPoint);
|
|
| 82 |
VertexEffectSink sink = new VertexEffectSink(new Static1D(8), point, new Static4D(0,0,0,80));
|
|
| 83 |
VertexEffectDistort distort = new VertexEffectDistort(dDistort,point,region);
|
|
| 83 | 84 |
mEffects[0].apply(sink); // enlarge the nose |
| 84 | 85 |
mEffects[0].apply(distort); // keep moving the whole bitmap left and right. |
| 85 | 86 |
|
| src/main/java/org/distorted/examples/differenteffects/DifferentEffectsRenderer.java | ||
|---|---|---|
| 70 | 70 |
// mEffects[0] effects |
| 71 | 71 |
Static3D pLeft = new Static3D(214 - 594/2, 394 - 600/2, 0); |
| 72 | 72 |
Static3D pRight= new Static3D(390 - 594/2, 388 - 600/2, 0); |
| 73 |
Static4D RegionEye = new Static4D(0,0,0,60); |
|
| 74 |
|
|
| 73 |
Static4D RegionEye = new Static4D(0,0,0, 60); |
|
| 74 |
Static4D RegionCen = new Static4D(0,0,0,300); |
|
| 75 |
|
|
| 75 | 76 |
// mEffects[1] effects |
| 76 | 77 |
Dynamic3D dyn = new Dynamic3D(1000,0.0f); |
| 77 | 78 |
dyn.add(new Static3D( 50,0,0)); |
| ... | ... | |
| 90 | 91 |
|
| 91 | 92 |
VertexEffectSink sinkL = new VertexEffectSink(sink, pLeft , RegionEye); |
| 92 | 93 |
VertexEffectSink sinkR = new VertexEffectSink(sink, pRight, RegionEye); |
| 93 |
VertexEffectDistort distort = new VertexEffectDistort(dyn,pNose1); |
|
| 94 |
VertexEffectDistort distort = new VertexEffectDistort(dyn,pNose1, RegionCen);
|
|
| 94 | 95 |
|
| 95 | 96 |
mEffects[0].apply(sinkL); |
| 96 | 97 |
mEffects[0].apply(sinkR); |
| src/main/java/org/distorted/examples/earth/EarthRenderer.java | ||
|---|---|---|
| 210 | 210 |
case DISTORT : vector = new Static3D( +x*mObjWidth/CORR, +y*mObjHeight/CORR, +z*mObjDepth/CORR); |
| 211 | 211 |
effect = new VertexEffectDistort( vector, center, mRegionV); break; |
| 212 | 212 |
case DEFORM : vector = new Static3D( +x*mObjWidth/CORR, +y*mObjHeight/CORR, +z*mObjDepth/CORR); |
| 213 |
effect = new VertexEffectDeform ( vector, center, mRegionV); break; |
|
| 213 |
Static1D radius = new Static1D(mObjWidth/2); |
|
| 214 |
effect = new VertexEffectDeform ( vector, radius, center, mRegionV); break; |
|
| 214 | 215 |
case SINK : effect = new VertexEffectSink (mStrength, center, mRegionV); break; |
| 215 | 216 |
case PINCH : float lat = latitude>0 ? (float)(-Math.PI/2 + latitude) : (float)(Math.PI/2 + latitude); |
| 216 | 217 |
float lon = longitude; |
| src/main/java/org/distorted/examples/generic/GenericEffect.java | ||
|---|---|---|
| 118 | 118 |
case SCALE : effect = new MatrixEffectScale (mDyn3) ; break; |
| 119 | 119 |
case SHEAR : effect = new MatrixEffectShear (mDyn3, mCenterDyn) ; break; |
| 120 | 120 |
|
| 121 |
case DISTORT : effect = new VertexEffectDistort (mDyn3, mCenterDyn, mRegion4Dyn); break; |
|
| 122 |
case DEFORM : effect = new VertexEffectDeform (mDyn3, mCenterDyn, mRegion4Dyn); break;
|
|
| 123 |
case SINK : effect = new VertexEffectSink (mDyn1, mCenterDyn, mRegion4Dyn); break; |
|
| 124 |
case PINCH : effect = new VertexEffectPinch (mDyn3, mCenterDyn, mRegion4Dyn); break; |
|
| 125 |
case SWIRL : effect = new VertexEffectSwirl (mDyn1, mCenterDyn, mRegion4Dyn); break; |
|
| 126 |
case WAVE : effect = new VertexEffectWave (mDyn5, mCenterDyn, mRegion4Dyn); break; |
|
| 127 |
case VERTEX_MOVE : effect = new VertexEffectMove (mDyn3) ; break; |
|
| 128 |
case VERTEX_QUATERNION: effect = new VertexEffectQuaternion (mDyn4, mCenterDyn) ; break; |
|
| 129 |
case VERTEX_ROTATE : effect = new VertexEffectRotate (mDyn1, mDyn3, mCenterDyn) ; break; |
|
| 130 |
case VERTEX_SCALE : effect = new VertexEffectScale (mDyn3) ; break; |
|
| 131 |
case VERTEX_SHEAR : effect = new VertexEffectShear (mDyn3, mCenterDyn) ; break; |
|
| 121 |
case DISTORT : effect = new VertexEffectDistort (mDyn3, mCenterDyn, mRegion4Dyn) ; break;
|
|
| 122 |
case DEFORM : effect = new VertexEffectDeform (mDyn3, mDyn1, mCenterDyn, mRegion4Dyn) ; break;
|
|
| 123 |
case SINK : effect = new VertexEffectSink (mDyn1, mCenterDyn, mRegion4Dyn) ; break;
|
|
| 124 |
case PINCH : effect = new VertexEffectPinch (mDyn3, mCenterDyn, mRegion4Dyn) ; break;
|
|
| 125 |
case SWIRL : effect = new VertexEffectSwirl (mDyn1, mCenterDyn, mRegion4Dyn) ; break;
|
|
| 126 |
case WAVE : effect = new VertexEffectWave (mDyn5, mCenterDyn, mRegion4Dyn) ; break;
|
|
| 127 |
case VERTEX_MOVE : effect = new VertexEffectMove (mDyn3) ; break;
|
|
| 128 |
case VERTEX_QUATERNION: effect = new VertexEffectQuaternion (mDyn4, mCenterDyn) ; break;
|
|
| 129 |
case VERTEX_ROTATE : effect = new VertexEffectRotate (mDyn1, mDyn3, mCenterDyn) ; break;
|
|
| 130 |
case VERTEX_SCALE : effect = new VertexEffectScale (mDyn3) ; break;
|
|
| 131 |
case VERTEX_SHEAR : effect = new VertexEffectShear (mDyn3, mCenterDyn) ; break;
|
|
| 132 | 132 |
|
| 133 | 133 |
case ALPHA : effect = new FragmentEffectAlpha (mDyn1, mCenterDyn, mRegion3Dyn, false); break; |
| 134 | 134 |
case SMOOTH_ALPHA : effect = new FragmentEffectAlpha (mDyn1, mCenterDyn, mRegion3Dyn, true ); break; |
| ... | ... | |
| 207 | 207 |
/////////////////////////////////////////////////////////////////////////////////////// |
| 208 | 208 |
|
| 209 | 209 |
case VERTEX_MOVE : |
| 210 |
case DISTORT : |
|
| 211 |
case DEFORM : float ld = mAct.get().getWidth()/50.0f; |
|
| 210 |
case DISTORT : float ld = mAct.get().getWidth()/50.0f; |
|
| 212 | 211 |
float xd = (mInter[0]-50)*ld; |
| 213 | 212 |
float yd = (mInter[1]-50)*ld; |
| 214 | 213 |
float zd = (mInter[2]-50)*ld; |
| 215 | 214 |
mSta3.set(xd,yd,zd); |
| 216 | 215 |
break; |
| 216 |
case DEFORM : float le = mAct.get().getWidth()/50.0f; |
|
| 217 |
float xe = (mInter[0]-50)*le; |
|
| 218 |
float ye = (mInter[1]-50)*le; |
|
| 219 |
float ze = (mInter[2]-50)*le; |
|
| 220 |
mSta3.set(xe,ye,ze); |
|
| 221 |
float re = (mInter[3])*le; |
|
| 222 |
mSta1.set(re); |
|
| 223 |
break; |
|
| 217 | 224 |
case WAVE : float l2 = mAct.get().getWidth()/50.0f; |
| 218 | 225 |
float x2 = (mInter[0]-50)*l2; |
| 219 | 226 |
float y2 = (mInter[1]-50)*l2; |
| src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java | ||
|---|---|---|
| 66 | 66 |
private int mCurrEffect; |
| 67 | 67 |
private int mSize1, mSize2; |
| 68 | 68 |
private Static3D mDeform; |
| 69 |
private Static1D mRadius; |
|
| 69 | 70 |
|
| 70 | 71 |
private MovingEffectsRenderer mRenderer; |
| 71 | 72 |
|
| ... | ... | |
| 88 | 89 |
|
| 89 | 90 |
mCenter = new Dynamic3D(LOOP_TIME,0.0f); |
| 90 | 91 |
mDeform = new Static3D(0,0,0.15f); |
| 92 |
mRadius = new Static1D(0); |
|
| 91 | 93 |
|
| 92 | 94 |
if(!isInEditMode()) |
| 93 | 95 |
{
|
| ... | ... | |
| 103 | 105 |
Static3D regionFrag = new Static3D(0.15f,0.15f,0.15f); |
| 104 | 106 |
Static4D regionVert = new Static4D(0,0,0,0.15f); |
| 105 | 107 |
|
| 106 |
mEffectDeform = new VertexEffectDeform ( mDeform , mCenter, regionVert); |
|
| 108 |
mEffectDeform = new VertexEffectDeform ( mDeform , mRadius, mCenter, regionVert);
|
|
| 107 | 109 |
mEffectSink = new VertexEffectSink (new Static1D(10) , mCenter, regionVert); |
| 108 | 110 |
mEffectSwirl = new VertexEffectSwirl (new Static1D(30) , mCenter, regionVert); |
| 109 | 111 |
mEffectAlpha = new FragmentEffectAlpha (new Static1D(0.5f), mCenter, regionFrag, true); |
| ... | ... | |
| 120 | 122 |
mScrWidth = width; |
| 121 | 123 |
mScrHeight = height; |
| 122 | 124 |
|
| 125 |
mRadius.set(max/2); |
|
| 126 |
|
|
| 123 | 127 |
mSize1 = max/200; |
| 124 | 128 |
mSize2 = max/80; |
| 125 | 129 |
} |
| src/main/java/org/distorted/examples/movingglow/MovingGlowRenderer.java | ||
|---|---|---|
| 108 | 108 |
|
| 109 | 109 |
Dynamic1D radiusDyn = new Dynamic1D(FLASH_TIME,1.0f); |
| 110 | 110 |
radiusDyn.add(new Static1D( 0)); |
| 111 |
radiusDyn.add(new Static1D(50));
|
|
| 111 |
radiusDyn.add(new Static1D(70));
|
|
| 112 | 112 |
|
| 113 | 113 |
for(int leaf=0; leaf<NUM_LEAVES; leaf++) |
| 114 | 114 |
{
|
| src/main/java/org/distorted/examples/objecttree/ObjectTreeRenderer.java | ||
|---|---|---|
| 56 | 56 |
class ObjectTreeRenderer implements GLSurfaceView.Renderer |
| 57 | 57 |
{
|
| 58 | 58 |
private static final int NODE_FBO_SIZE = 300; |
| 59 |
private static final int GRID = 20; |
|
| 59 | 60 |
|
| 60 | 61 |
private GLSurfaceView mView; |
| 61 | 62 |
private DistortedEffects mEffectsNode, mEffectsGrid; |
| ... | ... | |
| 85 | 86 |
|
| 86 | 87 |
mEffectsGrid = new DistortedEffects(); |
| 87 | 88 |
|
| 88 |
float factor = NODE_FBO_SIZE/2;
|
|
| 89 |
MatrixEffectScale scale = new MatrixEffectScale( new Static3D(factor,factor,factor/10) );
|
|
| 89 |
float factor = NODE_FBO_SIZE/(2.0f*GRID);
|
|
| 90 |
MatrixEffectScale scale = new MatrixEffectScale( new Static3D(factor,factor,factor) ); |
|
| 90 | 91 |
mEffectsGrid.apply(scale); |
| 91 | 92 |
|
| 92 | 93 |
Dynamic1D rotDyn = new Dynamic1D(12000,0.0f); |
| ... | ... | |
| 99 | 100 |
Dynamic1D sinkDyn = new Dynamic1D(3000,0.0f); |
| 100 | 101 |
sinkDyn.add(new Static1D(1.0f)); |
| 101 | 102 |
sinkDyn.add(new Static1D(0.3f)); |
| 102 |
VertexEffectSink sink = new VertexEffectSink(sinkDyn, new Static3D(0,0,0) ); |
|
| 103 |
VertexEffectSink sink = new VertexEffectSink(sinkDyn, new Static3D(0,0,0), new Static4D(0,0,0,10) );
|
|
| 103 | 104 |
mEffectsGrid.apply(sink); |
| 104 | 105 |
|
| 105 | 106 |
mScreen = new DistortedScreen(); |
| ... | ... | |
| 179 | 180 |
mLisaTexture.setTexture(bitmapLisa); |
| 180 | 181 |
mGridTexture.setTexture(bitmapGrid); |
| 181 | 182 |
|
| 182 |
final int GRID = 20; |
|
| 183 | 183 |
final Static4D mapFB = new Static4D(0.0f,0.0f,1.0f ,1.0f ); |
| 184 | 184 |
final Static4D mapLR = new Static4D(0.0f,0.0f,1.0f/GRID,1.0f ); |
| 185 | 185 |
final Static4D mapTB = new Static4D(0.0f,0.0f,1.0f ,1.0f/GRID); |
| 186 | 186 |
|
| 187 | 187 |
if( mMeshQuad ==null ) mMeshQuad = new MeshQuad(); |
| 188 |
if( mMeshCubes==null ) mMeshCubes= new MeshCubes(GRID,GRID,1, mapFB, mapFB, mapLR, mapLR, mapTB, mapTB); |
|
| 188 |
if( mMeshCubes==null ) |
|
| 189 |
{
|
|
| 190 |
mMeshCubes= new MeshCubes(GRID,GRID,1, mapFB, mapFB, mapLR, mapLR, mapTB, mapTB); |
|
| 191 |
mMeshCubes.setStretch(GRID,GRID,1); |
|
| 192 |
} |
|
| 193 |
|
|
| 189 | 194 |
|
| 190 | 195 |
mRoot = new DistortedNode(mLisaTexture, mEffectsNode, mMeshQuad); |
| 191 | 196 |
mRoot.resizeFBO(NODE_FBO_SIZE,NODE_FBO_SIZE); |
| src/main/java/org/distorted/examples/projection/ProjectionRenderer.java | ||
|---|---|---|
| 29 | 29 |
import org.distorted.library.main.DistortedScreen; |
| 30 | 30 |
import org.distorted.library.mesh.MeshRectangles; |
| 31 | 31 |
import org.distorted.library.main.DistortedTexture; |
| 32 |
import org.distorted.library.type.Static1D; |
|
| 32 | 33 |
import org.distorted.library.type.Static3D; |
| 33 | 34 |
import org.distorted.library.type.Static4D; |
| 34 | 35 |
|
| ... | ... | |
| 65 | 66 |
Static4D region = new Static4D( 0, 0, 0, 0.25f); |
| 66 | 67 |
Static3D vector = new Static3D( 0, 0, 0.25f); |
| 67 | 68 |
|
| 69 |
Static1D deformRadius = new Static1D(1); |
|
| 70 |
|
|
| 68 | 71 |
mScale = new Static3D(1,1,1); |
| 69 | 72 |
|
| 70 | 73 |
mEffects.apply( new MatrixEffectScale(mScale) ); |
| 71 | 74 |
|
| 72 |
mEffects.apply( new VertexEffectDeform(vector, point1, region) ); |
|
| 73 |
mEffects.apply( new VertexEffectDeform(vector, point2, region) ); |
|
| 74 |
mEffects.apply( new VertexEffectDeform(vector, point3, region) ); |
|
| 75 |
mEffects.apply( new VertexEffectDeform(vector, point4, region) ); |
|
| 75 |
mEffects.apply( new VertexEffectDeform(vector, deformRadius, point1, region) );
|
|
| 76 |
mEffects.apply( new VertexEffectDeform(vector, deformRadius, point2, region) );
|
|
| 77 |
mEffects.apply( new VertexEffectDeform(vector, deformRadius, point3, region) );
|
|
| 78 |
mEffects.apply( new VertexEffectDeform(vector, deformRadius, point4, region) );
|
|
| 76 | 79 |
|
| 77 | 80 |
mTexture= new DistortedTexture(); |
| 78 | 81 |
} |
| src/main/java/org/distorted/examples/sink/SinkRenderer.java | ||
|---|---|---|
| 37 | 37 |
import org.distorted.library.type.Dynamic1D; |
| 38 | 38 |
import org.distorted.library.type.Static1D; |
| 39 | 39 |
import org.distorted.library.type.Static3D; |
| 40 |
import org.distorted.library.type.Static4D; |
|
| 40 | 41 |
|
| 41 | 42 |
import android.graphics.Bitmap; |
| 42 | 43 |
import android.graphics.BitmapFactory; |
| ... | ... | |
| 64 | 65 |
mScreen = new DistortedScreen(); |
| 65 | 66 |
|
| 66 | 67 |
Dynamic1D sinkStrength = new Dynamic1D(2000,0.0f); |
| 67 |
sinkStrength.add(new Static1D(1.0f));
|
|
| 68 |
sinkStrength.add(new Static1D(2.0f));
|
|
| 68 | 69 |
sinkStrength.add(new Static1D(0.2f)); |
| 69 | 70 |
|
| 70 | 71 |
// strength [changing in time from 1.0 to 0.2 and back], |
| 71 | 72 |
// center [(0,0,0), i.e. center of the bitmap], |
| 72 |
// region [null - apply to the whole bitmap
|
|
| 73 |
VertexEffectSink sinkEffect = new VertexEffectSink(sinkStrength, new Static3D(0,0,0), null);
|
|
| 73 |
// region [ (0,0,0) with radius 0.5 - apply to the center circle of the bitmap ]
|
|
| 74 |
VertexEffectSink sinkEffect = new VertexEffectSink(sinkStrength, new Static3D(0,0,0), new Static4D(0,0,0,0.5f) );
|
|
| 74 | 75 |
mEffects.apply(sinkEffect); |
| 75 | 76 |
|
| 76 | 77 |
mScale = new Static3D(1,1,1); |
| src/main/java/org/distorted/examples/triblur/TriblurRenderer.java | ||
|---|---|---|
| 32 | 32 |
import org.distorted.library.effect.MatrixEffectScale; |
| 33 | 33 |
import org.distorted.library.effect.PostprocessEffectBlur; |
| 34 | 34 |
import org.distorted.library.effect.PostprocessEffectGlow; |
| 35 |
import org.distorted.library.effect.VertexEffectScale; |
|
| 35 | 36 |
import org.distorted.library.main.DistortedLibrary; |
| 36 | 37 |
import org.distorted.library.main.DistortedEffects; |
| 37 | 38 |
import org.distorted.library.main.DistortedNode; |
| ... | ... | |
| 110 | 111 |
mScale2 = new Static3D(1.5f,1.5f,1.5f); |
| 111 | 112 |
Static3D center = new Static3D(0,0,0); |
| 112 | 113 |
|
| 114 |
// VertexEffectScale scaleEffectV = new VertexEffectScale(OBJ_SIZE); |
|
| 113 | 115 |
MatrixEffectScale scaleEffect1 = new MatrixEffectScale(mScale1); |
| 114 | 116 |
MatrixEffectScale scaleEffect2 = new MatrixEffectScale(mScale2); |
| 115 | 117 |
MatrixEffectQuaternion quatEffect1 = new MatrixEffectQuaternion(mQuat1, center); |
| ... | ... | |
| 126 | 128 |
effects[i] = new DistortedEffects(); |
| 127 | 129 |
effects[i].apply(mBlur[i]); |
| 128 | 130 |
effects[i].apply(chroma[i]); |
| 129 |
|
|
| 131 |
// effects[i].apply(scaleEffectV); |
|
| 130 | 132 |
effects[i].apply(new MatrixEffectMove(moveVector[i])); |
| 131 | 133 |
effects[i].apply(quatEffect2); |
| 132 | 134 |
effects[i].apply(quatEffect1); |
| ... | ... | |
| 193 | 195 |
|
| 194 | 196 |
mTex.setTexture(bitmap); |
| 195 | 197 |
|
| 198 |
VertexEffectScale.enable(); |
|
| 196 | 199 |
PostprocessEffectBlur.enable(); |
| 197 | 200 |
FragmentEffectChroma.enable(); |
| 198 | 201 |
|
| src/main/java/org/distorted/examples/wind/WindEffectsManager.java | ||
|---|---|---|
| 28 | 28 |
import org.distorted.library.main.DistortedEffects; |
| 29 | 29 |
import org.distorted.library.type.Dynamic; |
| 30 | 30 |
import org.distorted.library.type.Dynamic5D; |
| 31 |
import org.distorted.library.type.Static1D; |
|
| 31 | 32 |
import org.distorted.library.type.Static3D; |
| 32 | 33 |
import org.distorted.library.type.Static4D; |
| 33 | 34 |
import org.distorted.library.type.Static5D; |
| ... | ... | |
| 114 | 115 |
effects.apply( new MatrixEffectScale(scaleFactor) ); |
| 115 | 116 |
effects.apply( new MatrixEffectShear(shearFactor,midLeft) ); |
| 116 | 117 |
|
| 117 |
effects.apply( new VertexEffectDeform(deformForce,midRight) ); |
|
| 118 |
effects.apply( new VertexEffectDeform(deformForce, new Static1D(mWidth/2), midRight) );
|
|
| 118 | 119 |
effects.apply( new VertexEffectWave(windDynamic1, midRight, windRegion) ); |
| 119 | 120 |
effects.apply( new VertexEffectWave(windDynamic2, midRight, windRegion) ); |
| 120 | 121 |
effects.apply( new VertexEffectWave(windDynamic3, midRight, windRegion) ); |
| src/main/java/org/distorted/examples/wind/WindRenderer.java | ||
|---|---|---|
| 49 | 49 |
|
| 50 | 50 |
class WindRenderer implements GLSurfaceView.Renderer |
| 51 | 51 |
{
|
| 52 |
private static final int X = 50; |
|
| 53 |
private static final int Y = 30; |
|
| 54 |
private static final int Z = 1; |
|
| 55 |
|
|
| 52 | 56 |
private GLSurfaceView mView; |
| 53 | 57 |
private DistortedTexture mTexture; |
| 54 | 58 |
private DistortedScreen mScreen; |
| ... | ... | |
| 63 | 67 |
{
|
| 64 | 68 |
mView = view; |
| 65 | 69 |
|
| 66 |
MeshCubes cubes = new MeshCubes(50,30,1);
|
|
| 70 |
MeshCubes cubes = new MeshCubes(X,Y,Z);
|
|
| 67 | 71 |
DistortedEffects effects = new DistortedEffects(); |
| 68 |
cubes.setStretch(50,30,1);
|
|
| 72 |
cubes.setStretch(X,Y,Z);
|
|
| 69 | 73 |
|
| 70 | 74 |
mTexture = new DistortedTexture(); |
| 71 |
mManager = new WindEffectsManager(50,30);
|
|
| 75 |
mManager = new WindEffectsManager(X,Y);
|
|
| 72 | 76 |
mGust = new WindGust(); |
| 73 | 77 |
mScreen = new DistortedScreen(); |
| 74 | 78 |
|
Also available in: Unified diff
A lot of changes.
1) main vertex shader: remove support for degree_object. This functionality will hopefully come back when we introduce other than circular regions.
2) MeshBase: remove the need to set a Bounding box (this is the point of the whole thing - we wanted to get rid of this so that the advances in MeshJoined will be easier)
3) Set ground for removing the MeshBase.setStretch / getStretch (another thing needed to advance MeshJoined )
4) since we removed the Bounding box, we need to change the DEFORN effect to have 1 additional parameter, the 'radius' which takes over the function of the bounding box in the vertex shader.
5) since the'res no bounding box, simplify the postprocessing Halo (remove EffectQueueMatrix.magnify() )
6) adjust applications.
After this we will hopefully be ready to introduce MeshBase.preApply(VertexEffect), i.e. bending several simple Meshes with any VertexEffect - including the freshly-introduced PseudoMatrix-Vertex effects like VertexEffectScale - and then combining them into one MeshJoined.