Project

General

Profile

« Previous | Next » 

Revision 334c13fa

Added by Leszek Koltunski over 7 years ago

Make the effect Center be always 3D.

View differences:

src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
30 30

  
31 31
import org.distorted.library.EffectTypes;
32 32
import org.distorted.library.type.Dynamic2D;
33
import org.distorted.library.type.Dynamic3D;
33 34
import org.distorted.library.type.Dynamic4D;
34 35
import org.distorted.library.type.Static1D;
35 36
import org.distorted.library.type.Static2D;
......
52 53

  
53 54
    private static final Object lock = new Object();
54 55

  
55
    private Dynamic2D di2D;
56
    private Dynamic3D di3D;
56 57
    private Static4D dr;
57 58
    private Dynamic4D mRegion;
58 59

  
......
75 76
      mPaint.setStyle(Style.FILL);
76 77
      moving = -1;
77 78
      
78
      di2D    = new Dynamic2D(LOOP_TIME,0.0f);
79
      di3D    = new Dynamic3D(LOOP_TIME,0.0f);
79 80
      mRegion = new Dynamic4D(LOOP_TIME,0.0f);
80 81

  
81 82
      if(!isInEditMode())
......
125 126
        {
126 127
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.VERTEX);
127 128
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.FRAGMENT);
128
        MovingEffectsRenderer.mBackground.distort( new Static3D(0,0,mMax/10) , di2D, dr);
129
        MovingEffectsRenderer.mBackground.distort( new Static3D(0,0,mMax/10) , di3D, dr);
129 130
        mCurrEffect = EFFECT_BUBBLE;
130 131
        }
131 132
      }
......
140 141
        {
141 142
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.VERTEX);
142 143
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.FRAGMENT);
143
        MovingEffectsRenderer.mBackground.sink(new Static1D(10), di2D, dr);
144
        MovingEffectsRenderer.mBackground.sink(new Static1D(10), di3D, dr);
144 145
        mCurrEffect = EFFECT_SINK;
145 146
        }
146 147
      }
......
185 186
        {
186 187
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.VERTEX);
187 188
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.FRAGMENT);
188
        MovingEffectsRenderer.mBackground.swirl( new Static1D(30), di2D, dr);
189
        MovingEffectsRenderer.mBackground.swirl( new Static1D(30), di3D, dr);
189 190
        mCurrEffect = EFFECT_SWIRL;
190 191
        }
191 192
      }
......
198 199
        {
199 200
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.VERTEX);
200 201
        MovingEffectsRenderer.mBackground.abortEffects(EffectTypes.FRAGMENT);
201
        di2D.removeAll();
202
        di3D.removeAll();
202 203
        mRegion.removeAll();
203 204
        mCurrEffect = EFFECT_POINTS;
204 205
        }
......
210 211
      {
211 212
      synchronized(lock)
212 213
        {  
213
        int len = di2D.getNumPoints();
214
        int len = di3D.getNumPoints();
214 215

  
215
        float[] drawCoord = new float[2];
216
        Static2D cu;
216
        float[] drawCoord = new float[3];
217
        Static3D cu;
217 218
        int lit = mTime> 0 ? (int)((float)(time-mTime)*NUM_POINTS/LOOP_TIME)  : 0;
218 219
            
219 220
        if( len>=2 )
......
226 227
                               : 0xff - (lit+NUM_POINTS-i)*0xff/(NUM_POINTS-1);
227 228
         
228 229
            mPaint.setColor( 0xffffff + ((color&0xff)<<24) );  
229
            di2D.interpolateMain( drawCoord, 0, (long)(i*step) );
230
            di3D.interpolateMain( drawCoord, 0, (long)(i*step) );
230 231
            c.drawCircle(drawCoord[0], drawCoord[1], mSize1, mPaint );
231 232
            }
232 233
          }
......
235 236
      
236 237
        for(int curr=0; curr<len; curr++)
237 238
          {       
238
          cu = di2D.getPoint(curr);
239
          cu = di3D.getPoint(curr);
239 240
          c.drawCircle(cu.getX(), cu.getY(), mSize2, mPaint);
240 241
          }
241 242
        
......
258 259
                                    
259 260
                                      float gx, gy;
260 261
                                      Static2D dv;
261
                                      int len = di2D.getNumPoints();
262
                                      int len = di3D.getNumPoints();
262 263
                                 
263 264
                                      for(int g=0; g<len; g++)
264 265
                                        {
265
                                        dv = di2D.getPoint(g); 
266
                                        dv = di3D.getPoint(g);
266 267
                                        gx = dv.getX();
267 268
                                        gy = dv.getY();
268 269
                                    
......
276 277
                                        {
277 278
                                        synchronized(lock)
278 279
                                          {
279
                                          di2D.add(new Static2D(xDown,yDown));
280
                                          di3D.add(new Static3D(xDown,yDown,0));
280 281
                                          mRegion.add(new Static4D(xDown,yDown,mSizeR,mSizeR));
281 282
                                          }
282 283
                                        } 
......
286 287
                                        xDown = (int)event.getX();
287 288
                                        yDown = (int)event.getY();
288 289

  
289
                                        di2D.setPoint(moving, xDown, yDown);
290
                                        di3D.setPoint(moving, xDown, yDown, 0);
290 291
                                        mRegion.setPoint(moving, xDown, yDown, mSizeR, mSizeR);
291 292
                                        }                           
292 293
                                      break;

Also available in: Unified diff