27 |
27 |
|
28 |
28 |
import org.distorted.examples.R;
|
29 |
29 |
|
|
30 |
import org.distorted.library.effect.EffectName;
|
|
31 |
import org.distorted.library.effect.FragmentEffectChroma;
|
|
32 |
import org.distorted.library.effect.MatrixEffectMove;
|
|
33 |
import org.distorted.library.effect.MatrixEffectRotate;
|
|
34 |
import org.distorted.library.effect.MatrixEffectScale;
|
|
35 |
import org.distorted.library.effect.VertexEffectSink;
|
30 |
36 |
import org.distorted.library.main.DistortedEffects;
|
31 |
37 |
import org.distorted.library.main.DistortedFramebuffer;
|
32 |
38 |
import org.distorted.library.main.DistortedNode;
|
33 |
39 |
import org.distorted.library.main.DistortedScreen;
|
34 |
40 |
import org.distorted.library.main.Distorted;
|
35 |
|
import org.distorted.library.EffectNames;
|
36 |
41 |
import org.distorted.library.main.MeshCubes;
|
37 |
42 |
import org.distorted.library.main.MeshFlat;
|
38 |
43 |
import org.distorted.library.main.DistortedTexture;
|
39 |
|
import org.distorted.library.EffectTypes;
|
40 |
44 |
import org.distorted.library.type.Dynamic;
|
41 |
45 |
import org.distorted.library.type.Dynamic1D;
|
42 |
46 |
import org.distorted.library.type.Static1D;
|
... | ... | |
60 |
64 |
private MeshCubes mMeshCubes;
|
61 |
65 |
private int lisaHeight, lisaWidth;
|
62 |
66 |
private boolean mDepth;
|
|
67 |
private Static3D mScale, mMove;
|
63 |
68 |
|
64 |
69 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
65 |
70 |
|
... | ... | |
68 |
73 |
mView = v;
|
69 |
74 |
mDepth = true;
|
70 |
75 |
mEffects= new DistortedEffects();
|
|
76 |
mScale = new Static3D(1,1,1);
|
|
77 |
mMove = new Static3D(0,0,0);
|
|
78 |
mEffects.apply(new MatrixEffectMove(mMove));
|
|
79 |
mEffects.apply(new MatrixEffectScale(mScale));
|
71 |
80 |
mScreen = new DistortedScreen(mView);
|
72 |
81 |
}
|
73 |
82 |
|
... | ... | |
104 |
113 |
|
105 |
114 |
public void onSurfaceChanged(GL10 glUnused, int width, int height)
|
106 |
115 |
{
|
107 |
|
mEffects.abortEffects(EffectTypes.MATRIX);
|
108 |
|
|
109 |
116 |
if( (float)lisaHeight/lisaWidth > (float)height/width )
|
110 |
117 |
{
|
111 |
118 |
int w = (height*lisaWidth)/lisaHeight;
|
112 |
119 |
float factor = (float)height/lisaHeight;
|
113 |
120 |
|
114 |
|
mEffects.move( new Static3D((width-w)/2,0,0) );
|
115 |
|
mEffects.scale(factor);
|
|
121 |
mMove.set((width-w)/2,0,0);
|
|
122 |
mScale.set(factor,factor,factor);
|
116 |
123 |
}
|
117 |
124 |
else
|
118 |
125 |
{
|
119 |
126 |
int h = (width*lisaHeight)/lisaWidth;
|
120 |
127 |
float factor = (float)width/lisaWidth;
|
121 |
128 |
|
122 |
|
mEffects.move( new Static3D(0,(height-h)/2,0) );
|
123 |
|
mEffects.scale(factor);
|
|
129 |
mMove.set(0,(height-h)/2,0);
|
|
130 |
mScale.set(factor,factor,factor);
|
124 |
131 |
}
|
125 |
132 |
|
126 |
133 |
mScreen.resize(width, height);
|
... | ... | |
181 |
188 |
mScreen.attach(mRoot);
|
182 |
189 |
|
183 |
190 |
float factor = lisaWidth/(2.0f*gridWidth);
|
184 |
|
|
185 |
|
gridEffects.move( new Static3D( (lisaWidth-factor*gridWidth)/2,(lisaHeight-factor*gridHeight)/2, gridWidth/(2*GRID)) );
|
186 |
|
gridEffects.scale(factor);
|
|
191 |
MatrixEffectMove move = new MatrixEffectMove( new Static3D((lisaWidth-factor*gridWidth)/2,(lisaHeight-factor*gridHeight)/2, gridWidth/(2.0f*GRID)));
|
|
192 |
MatrixEffectScale scale = new MatrixEffectScale( new Static3D(factor,factor,factor) );
|
|
193 |
gridEffects.apply(move);
|
|
194 |
gridEffects.apply(scale);
|
187 |
195 |
|
188 |
196 |
Dynamic1D rotDyn = new Dynamic1D(12000,0.0f);
|
189 |
197 |
rotDyn.add(new Static1D( 0));
|
190 |
198 |
rotDyn.add(new Static1D(360));
|
191 |
199 |
rotDyn.setMode(Dynamic.MODE_JUMP);
|
192 |
|
|
193 |
|
gridEffects.rotate(rotDyn, new Static3D(1,0,0), new Static3D(gridWidth/2,gridHeight/2,gridWidth/(2*GRID)) );
|
|
200 |
MatrixEffectRotate rotate = new MatrixEffectRotate(rotDyn, new Static3D(1,0,0), new Static3D(gridWidth/2,gridHeight/2,gridWidth/(2*GRID)));
|
|
201 |
gridEffects.apply(rotate);
|
194 |
202 |
|
195 |
203 |
Dynamic1D sinkDyn = new Dynamic1D(3000,0.0f);
|
196 |
204 |
sinkDyn.add(new Static1D(1.0f));
|
197 |
205 |
sinkDyn.add(new Static1D(0.3f));
|
198 |
|
|
199 |
|
gridEffects.sink(sinkDyn, new Static3D(gridWidth/2,gridHeight/2, 0));
|
|
206 |
VertexEffectSink sink = new VertexEffectSink(sinkDyn, new Static3D(gridWidth/2,gridHeight/2, 0));
|
|
207 |
gridEffects.apply(sink);
|
200 |
208 |
|
201 |
209 |
Dynamic1D chromaDyn = new Dynamic1D(5000,0.0f);
|
202 |
210 |
chromaDyn.add(new Static1D(0.0f));
|
203 |
211 |
chromaDyn.add(new Static1D(1.0f));
|
|
212 |
FragmentEffectChroma chroma = new FragmentEffectChroma(chromaDyn, new Static3D(0,0,1));
|
|
213 |
mEffects.apply(chroma);
|
204 |
214 |
|
205 |
|
mEffects.chroma(chromaDyn, new Static3D(0,0,1) );
|
206 |
|
|
207 |
|
DistortedEffects.enableEffect(EffectNames.SINK);
|
208 |
|
DistortedEffects.enableEffect(EffectNames.CHROMA);
|
|
215 |
DistortedEffects.enableEffect(EffectName.SINK);
|
|
216 |
DistortedEffects.enableEffect(EffectName.CHROMA);
|
209 |
217 |
|
210 |
218 |
try
|
211 |
219 |
{
|
Some progress with Effect classes.
12 apps compile now.