Project

General

Profile

« Previous | Next » 

Revision d425545a

Added by Leszek Koltunski almost 8 years ago

Some more progress with porting apps to new VERTEX API.

View differences:

src/main/java/org/distorted/library/EffectQueueVertex.java
26 26
import org.distorted.library.type.Data2D;
27 27
import org.distorted.library.type.Data3D;
28 28
import org.distorted.library.type.Data4D;
29
import org.distorted.library.type.Dynamic;
30 29
import org.distorted.library.type.Dynamic1D;
31 30
import org.distorted.library.type.Dynamic2D;
31
import org.distorted.library.type.Dynamic3D;
32 32
import org.distorted.library.type.Dynamic4D;
33 33
import org.distorted.library.type.Static1D;
34 34
import org.distorted.library.type.Static2D;
35
import org.distorted.library.type.Static3D;
35 36
import org.distorted.library.type.Static4D;
36 37

  
37 38
///////////////////////////////////////////////////////////////////////////////////////////////////
......
70 71
   
71 72
    for(int i=0; i<mNumEffects; i++)
72 73
      {
73
      if( mInterI[i]==null ) continue;    
74
      if( mInter[0][i]==null ) continue;
74 75
      
75
      if( mInterP[i]!=null ) 
76
      if( mInter[1][i]!=null )
76 77
        {
77
        mInterP[i].interpolateMain(mUniforms, NUM_UNIFORMS*i+7, mCurrentDuration[i]);
78
        mInter[1][i].interpolateMain(mUniforms, NUM_UNIFORMS*i+7, mCurrentDuration[i]);
78 79
      
79 80
        mUniforms[NUM_UNIFORMS*i+7] = mUniforms[NUM_UNIFORMS*i+7]-mObjHalfX;
80 81
        mUniforms[NUM_UNIFORMS*i+8] =-mUniforms[NUM_UNIFORMS*i+8]+mObjHalfY;
81 82
        }
82
        
83
      if( mInterI[i].interpolateMain(mUniforms ,NUM_UNIFORMS*i, mCurrentDuration[i], step) )      
83

  
84
      if( mInter[2][i]!=null )
85
        {
86
        mInter[2][i].interpolateMain(mUniforms, NUM_UNIFORMS*i+3, mCurrentDuration[i]);
87
        }
88

  
89
      if( mInter[0][i].interpolateMain(mUniforms ,NUM_UNIFORMS*i, mCurrentDuration[i], step) )
84 90
        {
85 91
        for(int j=0; j<mNumListeners; j++)   
86 92
          EffectMessageSender.newMessage( mListeners.elementAt(j),
......
160 166
    }
161 167
  
162 168
///////////////////////////////////////////////////////////////////////////////////////////////////
163
  
169
// distort
170

  
164 171
  synchronized long add(EffectNames eln, Data3D data, Data2D center, Data4D region)
165 172
    {
166 173
    if( mMax[INDEX]>mNumEffects )
167 174
      {
168 175
      EffectNames.fillWithUnities(eln.ordinal(), mUniforms, NUM_UNIFORMS*mNumEffects);    
169
      
170
      mInterI[mNumEffects] = inter;
171
      mInterP[mNumEffects] = point;
172 176

  
173
      return addPriv(eln,region);
177
      if( data instanceof Dynamic3D)
178
        mInter[0][mNumEffects] = (Dynamic3D)data;
179
      else if( data instanceof Static3D)
180
        {
181
        mInter[0][mNumEffects] = null;
182
        mUniforms[NUM_UNIFORMS*mNumEffects  ] = ((Static3D)data).getX();
183
        mUniforms[NUM_UNIFORMS*mNumEffects+1] = ((Static3D)data).getY();
184
        mUniforms[NUM_UNIFORMS*mNumEffects+2] = ((Static3D)data).getZ();
185
        }
186

  
187
      return addPriv(eln,center,region);
174 188
      }
175 189
      
176 190
    return -1;
177 191
    }
178 192
   
179 193
///////////////////////////////////////////////////////////////////////////////////////////////////
180
  
194
// deform, distort
195

  
181 196
  synchronized long add(EffectNames eln, Data3D data, Data2D center)
182 197
    {
183 198
    if( mMax[INDEX]>mNumEffects )
184 199
      {
185 200
      EffectNames.fillWithUnities(eln.ordinal(), mUniforms, NUM_UNIFORMS*mNumEffects);    
186
      
187
      mInterI[mNumEffects] = inter;
188
      mInterP[mNumEffects] = null;
189
      mUniforms[NUM_UNIFORMS*mNumEffects+7] = point.getX()-mObjHalfX;
190
      mUniforms[NUM_UNIFORMS*mNumEffects+8] =-point.getY()+mObjHalfY;
191
     
192
      return addPriv(eln,null);
201

  
202
      if( data instanceof Dynamic3D)
203
        mInter[0][mNumEffects] = (Dynamic3D)data;
204
      else if( data instanceof Static3D)
205
        {
206
        mInter[0][mNumEffects] = null;
207
        mUniforms[NUM_UNIFORMS*mNumEffects  ] = ((Static3D)data).getX();
208
        mUniforms[NUM_UNIFORMS*mNumEffects+1] = ((Static3D)data).getY();
209
        mUniforms[NUM_UNIFORMS*mNumEffects+2] = ((Static3D)data).getZ();
210
        }
211

  
212
      return addPriv(eln,center,null);
193 213
      }
194 214
      
195 215
    return -1;
196 216
    }
197 217
 
198 218
///////////////////////////////////////////////////////////////////////////////////////////////////
199
  
219
// sink, swirl
220

  
200 221
  synchronized long add(EffectNames eln, Data1D data, Data2D center, Data4D region)
201 222
    {
202 223
    if( mMax[INDEX]>mNumEffects )
203 224
      {
204
      EffectNames.fillWithUnities(eln.ordinal(), mUniforms, NUM_UNIFORMS*mNumEffects); 
205
      mUniforms[NUM_UNIFORMS*mNumEffects  ] = v1;
206
      mUniforms[NUM_UNIFORMS*mNumEffects+1] = v2;  
207
      mUniforms[NUM_UNIFORMS*mNumEffects+2] = v3;  
208
     
209
      mInterI[mNumEffects] = null;
210
      mInterP[mNumEffects] = null;
211
      mUniforms[NUM_UNIFORMS*mNumEffects+7] = point.getX()-mObjHalfX;
212
      mUniforms[NUM_UNIFORMS*mNumEffects+8] =-point.getY()+mObjHalfY;
213
      
214
      return addPriv(eln,region);    
225
      EffectNames.fillWithUnities(eln.ordinal(), mUniforms, NUM_UNIFORMS*mNumEffects);
226

  
227
      if( data instanceof Dynamic1D)
228
        mInter[0][mNumEffects] = (Dynamic1D)data;
229
      else if( data instanceof Static1D)
230
        {
231
        mInter[0][mNumEffects] = null;
232
        mUniforms[NUM_UNIFORMS*mNumEffects] = ((Static1D)data).getX();
233
        }
234

  
235
      return addPriv(eln,center,region);
215 236
      }
216 237
      
217 238
    return -1;
......
227 248
      EffectNames.fillWithUnities(eln.ordinal(), mUniforms, NUM_UNIFORMS*mNumEffects);
228 249

  
229 250
      if( data instanceof Dynamic1D)
230
        mInterI[mNumEffects] = (Dynamic1D)data;
251
        mInter[0][mNumEffects] = (Dynamic1D)data;
231 252
      else if( data instanceof Static1D)
232 253
        {
233
        mInterI[mNumEffects] = null;
254
        mInter[0][mNumEffects] = null;
234 255
        mUniforms[NUM_UNIFORMS*mNumEffects] = ((Static1D)data).getX();
235 256
        }
236 257

  
237
      mUniforms[NUM_UNIFORMS*mNumEffects+7] = point.getX()-mObjHalfX;
238
      mUniforms[NUM_UNIFORMS*mNumEffects+8] =-point.getY()+mObjHalfY;
239

  
240
      return addPriv(eln,null);
258
      return addPriv(eln,center,null);
241 259
      }
242 260

  
243 261
    return -1;
......
245 263

  
246 264
///////////////////////////////////////////////////////////////////////////////////////////////////
247 265
  
248
  private long addPriv(EffectNames eln, Data4D region)
249
    {    
266
  private long addPriv(EffectNames eln, Data2D center, Data4D region)
267
    {
268
    if( center instanceof Dynamic2D)
269
      mInter[1][mNumEffects] = (Dynamic2D)center;
270
    else if( center instanceof Static2D)
271
      {
272
      mInter[1][mNumEffects] = null;
273
      mUniforms[NUM_UNIFORMS*mNumEffects+7] = ((Static2D)center).getX()-mObjHalfX;
274
      mUniforms[NUM_UNIFORMS*mNumEffects+8] =-((Static2D)center).getY()+mObjHalfY;
275
      }
276

  
250 277
    if( region!=null )
251 278
      {
252 279
      if( region instanceof Dynamic4D)
253 280
        {
254
        mInterP[mNumEffects] = (Dynamic4D)region;
281
        mInter[2][mNumEffects] = (Dynamic4D)region;
255 282
        }
256 283
      else if ( region instanceof Static4D)
257 284
        {
......
263 290
        mUniforms[NUM_UNIFORMS*mNumEffects+4] =-tmp.getY();   // invert y already
264 291
        mUniforms[NUM_UNIFORMS*mNumEffects+5] = z<=0.0f ? 1000*mObjHalfX : z;
265 292
        mUniforms[NUM_UNIFORMS*mNumEffects+6] = tmp.getW();
293
        mInter[2][mNumEffects] = null;
266 294
        }
267 295
      else return -1;
268 296
      }
......
272 300
      mUniforms[NUM_UNIFORMS*mNumEffects+4] = 0.0f;
273 301
      mUniforms[NUM_UNIFORMS*mNumEffects+5] = 1000*mObjHalfX;
274 302
      mUniforms[NUM_UNIFORMS*mNumEffects+6] = 0.0f;
303
      mInter[2][mNumEffects] = null;
275 304
      }
276 305
    
277 306
    return addBase(eln);

Also available in: Unified diff