Project

General

Profile

« Previous | Next » 

Revision f2fe7e28

Added by Leszek Koltunski almost 8 years ago

Major push towards simplifying DistortedObject's public API.
Beginning of work on VERTEX Effects - does not compile ATM!

View differences:

src/main/java/org/distorted/library/EffectQueueVertex.java
22 22
import android.opengl.GLES20;
23 23

  
24 24
import org.distorted.library.message.EffectMessage;
25
import org.distorted.library.type.Data1D;
26
import org.distorted.library.type.Data2D;
27
import org.distorted.library.type.Data3D;
28
import org.distorted.library.type.Data4D;
25 29
import org.distorted.library.type.Dynamic;
30
import org.distorted.library.type.Dynamic1D;
26 31
import org.distorted.library.type.Dynamic2D;
32
import org.distorted.library.type.Dynamic4D;
33
import org.distorted.library.type.Static1D;
27 34
import org.distorted.library.type.Static2D;
28 35
import org.distorted.library.type.Static4D;
29 36

  
......
154 161
  
155 162
///////////////////////////////////////////////////////////////////////////////////////////////////
156 163
  
157
  synchronized long add(EffectNames eln, Dynamic inter, Static4D region, Dynamic2D point)
164
  synchronized long add(EffectNames eln, Data3D data, Data2D center, Data4D region)
158 165
    {
159 166
    if( mMax[INDEX]>mNumEffects )
160 167
      {
......
171 178
   
172 179
///////////////////////////////////////////////////////////////////////////////////////////////////
173 180
  
174
  synchronized long add(EffectNames eln, Dynamic inter, Static4D region, Static2D point)
181
  synchronized long add(EffectNames eln, Data3D data, Data2D center)
175 182
    {
176 183
    if( mMax[INDEX]>mNumEffects )
177 184
      {
......
182 189
      mUniforms[NUM_UNIFORMS*mNumEffects+7] = point.getX()-mObjHalfX;
183 190
      mUniforms[NUM_UNIFORMS*mNumEffects+8] =-point.getY()+mObjHalfY;
184 191
     
185
      return addPriv(eln,region);
192
      return addPriv(eln,null);
186 193
      }
187 194
      
188 195
    return -1;
......
190 197
 
191 198
///////////////////////////////////////////////////////////////////////////////////////////////////
192 199
  
193
  synchronized long add(EffectNames eln, float v1, float v2, float v3, Static4D region, Static2D point)
200
  synchronized long add(EffectNames eln, Data1D data, Data2D center, Data4D region)
194 201
    {
195 202
    if( mMax[INDEX]>mNumEffects )
196 203
      {
......
209 216
      
210 217
    return -1;
211 218
    }
212
  
219

  
220
///////////////////////////////////////////////////////////////////////////////////////////////////
221
// sink, swirl
222

  
223
  synchronized long add(EffectNames eln, Data1D data, Data2D center)
224
    {
225
    if( mMax[INDEX]>mNumEffects )
226
      {
227
      EffectNames.fillWithUnities(eln.ordinal(), mUniforms, NUM_UNIFORMS*mNumEffects);
228

  
229
      if( data instanceof Dynamic1D)
230
        mInterI[mNumEffects] = (Dynamic1D)data;
231
      else if( data instanceof Static1D)
232
        {
233
        mInterI[mNumEffects] = null;
234
        mUniforms[NUM_UNIFORMS*mNumEffects] = ((Static1D)data).getX();
235
        }
236

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

  
240
      return addPriv(eln,null);
241
      }
242

  
243
    return -1;
244
    }
245

  
213 246
///////////////////////////////////////////////////////////////////////////////////////////////////
214 247
  
215
  private long addPriv(EffectNames eln, Static4D region)
248
  private long addPriv(EffectNames eln, Data4D region)
216 249
    {    
217 250
    if( region!=null )
218 251
      {
219
      float z = region.getZ();
252
      if( region instanceof Dynamic4D)
253
        {
254
        mInterP[mNumEffects] = (Dynamic4D)region;
255
        }
256
      else if ( region instanceof Static4D)
257
        {
258
        Static4D tmp = (Static4D)region;
259

  
260
        float z = tmp.getZ();
220 261

  
221
      mUniforms[NUM_UNIFORMS*mNumEffects+3] = region.getX();
222
      mUniforms[NUM_UNIFORMS*mNumEffects+4] =-region.getY();   // invert y already
223
      mUniforms[NUM_UNIFORMS*mNumEffects+5] = z<=0.0f ? 1000*mObjHalfX : z;
224
      mUniforms[NUM_UNIFORMS*mNumEffects+6] = region.getW();
262
        mUniforms[NUM_UNIFORMS*mNumEffects+3] = tmp.getX();
263
        mUniforms[NUM_UNIFORMS*mNumEffects+4] =-tmp.getY();   // invert y already
264
        mUniforms[NUM_UNIFORMS*mNumEffects+5] = z<=0.0f ? 1000*mObjHalfX : z;
265
        mUniforms[NUM_UNIFORMS*mNumEffects+6] = tmp.getW();
266
        }
267
      else return -1;
225 268
      }
226 269
    else
227 270
      {

Also available in: Unified diff