Project

General

Profile

« Previous | Next » 

Revision 42d910b3

Added by Leszek Koltunski almost 4 years ago

Convert AroundTheWorld to stretchless API.

View differences:

src/main/java/org/distorted/examples/movingeffects/MovingEffectsRenderer.java
28 28
import android.graphics.Paint.Style;
29 29
import android.opengl.GLSurfaceView;
30 30

  
31
import org.distorted.library.effect.Effect;
32
import org.distorted.library.effect.EffectType;
31 33
import org.distorted.library.effect.FragmentEffectAlpha;
32 34
import org.distorted.library.effect.FragmentEffectChroma;
33 35
import org.distorted.library.effect.MatrixEffectScale;
34 36
import org.distorted.library.effect.VertexEffectDeform;
37
import org.distorted.library.effect.VertexEffectScale;
35 38
import org.distorted.library.effect.VertexEffectSink;
36 39
import org.distorted.library.effect.VertexEffectSwirl;
37 40
import org.distorted.library.main.DistortedLibrary;
......
56 59
   private DistortedScreen mScreen;
57 60
   private MeshRectangles mMesh;
58 61
   private boolean mRefresh;
59
   private Static3D mScale;
62
   private Static3D mScaleMatrix, mScaleVertex;
60 63

  
61 64
///////////////////////////////////////////////////////////////////////////////////////////////////
62 65

  
......
73 76
     mTexture= new DistortedTexture();
74 77
     mRefresh= true;
75 78

  
76
     mScale = new Static3D(1,1,1);
77
     mEffects.apply( new MatrixEffectScale(mScale));
79
     mScaleMatrix = new Static3D(1,1,1);
80
     mScaleVertex = new Static3D(1,1,1);
81
     mEffects.apply( new MatrixEffectScale(mScaleMatrix));
82
     mEffects.apply( new VertexEffectScale(mScaleVertex));
78 83
     }
79 84

  
80 85
///////////////////////////////////////////////////////////////////////////////////////////////////
......
104 109
   
105 110
///////////////////////////////////////////////////////////////////////////////////////////////////
106 111

  
107
   DistortedEffects getEffects()
112
   void apply(Effect effect)
108 113
     {
109
     return mEffects;
114
     mEffects.abortByType(EffectType.VERTEX);
115
     mEffects.abortByType(EffectType.FRAGMENT);
116

  
117
     mEffects.apply( new VertexEffectScale(mScaleVertex));
118

  
119
     if( effect!=null ) mEffects.apply(effect);
110 120
     }
111 121

  
112 122
///////////////////////////////////////////////////////////////////////////////////////////////////
......
120 130

  
121 131
   public void onSurfaceCreated(GL10 glUnused, EGLConfig config) 
122 132
     {
133
     VertexEffectScale.enable();
123 134
     VertexEffectSwirl.enable();
124 135
     VertexEffectDeform.enable();
125 136
     VertexEffectSink.enable();
......
143 154
     texW = width;
144 155
     texH = height;
145 156

  
146
     mScale.set(width,width,width);
157
     mScaleMatrix.set(width,width,width);
158
     mScaleVertex.set(1.0f, (float)texH/texW, 1.0f);
147 159

  
148 160
     mBitmap  = Bitmap.createBitmap(texW,texH, Bitmap.Config.ARGB_8888);
149 161
     mCanvas  = new Canvas(mBitmap);
150 162

  
151 163
     if( mMesh!=null ) mMesh.markForDeletion();
152 164
     mMesh = new MeshRectangles(80,80*texH/texW);
153
     mMesh.setStretch(1.0f, (float)texH/texW, 1.0f);
154 165

  
155 166
     mScreen.detachAll();
156 167
     mScreen.attach(mTexture,mEffects,mMesh);
src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
29 29
import android.view.MotionEvent;
30 30
import android.util.AttributeSet;
31 31

  
32
import org.distorted.library.effect.EffectType;
33 32
import org.distorted.library.effect.FragmentEffectAlpha;
34 33
import org.distorted.library.effect.FragmentEffectChroma;
35 34
import org.distorted.library.effect.VertexEffectDeform;
36 35
import org.distorted.library.effect.VertexEffectSink;
37 36
import org.distorted.library.effect.VertexEffectSwirl;
38
import org.distorted.library.main.DistortedEffects;
39 37
import org.distorted.library.type.Dynamic3D;
40 38
import org.distorted.library.type.Static1D;
41 39
import org.distorted.library.type.Static3D;
......
117 115

  
118 116
    public void onSurfaceChanged(int width,int height)
119 117
      {
120
      int max = width>height ? width:height;
118
      int max = Math.max(width, height);
121 119

  
122 120
      mScrWidth  = width;
123 121
      mScrHeight = height;
......
143 141
      
144 142
      synchronized(lock)
145 143
        {
146
        DistortedEffects q = mRenderer.getEffects();
147
        q.abortByType(EffectType.VERTEX);
148
        q.abortByType(EffectType.FRAGMENT);
149
        q.apply(mEffectDeform);
144
        mRenderer.apply(mEffectDeform);
150 145
        mCurrEffect = EFFECT_BUBBLE;
151 146
        }
152 147
      }
......
159 154
         
160 155
      synchronized(lock)
161 156
        {
162
        DistortedEffects q = mRenderer.getEffects();
163
        q.abortByType(EffectType.VERTEX);
164
        q.abortByType(EffectType.FRAGMENT);
165
        q.apply(mEffectSink);
157
        mRenderer.apply(mEffectSink);
166 158
        mCurrEffect = EFFECT_SINK;
167 159
        }
168 160
      }
......
175 167
         
176 168
      synchronized(lock)
177 169
        {
178
        DistortedEffects q = mRenderer.getEffects();
179
        q.abortByType(EffectType.VERTEX);
180
        q.abortByType(EffectType.FRAGMENT);
181
        q.apply(mEffectChroma);
170
        mRenderer.apply(mEffectChroma);
182 171
        mCurrEffect = EFFECT_CHROMA;
183 172
        }
184 173
      }
......
191 180
      
192 181
      synchronized(lock)
193 182
        {
194
        DistortedEffects q = mRenderer.getEffects();
195
        q.abortByType(EffectType.VERTEX);
196
        q.abortByType(EffectType.FRAGMENT);
197
        q.apply(mEffectAlpha);
183
        mRenderer.apply(mEffectAlpha);
198 184
        mCurrEffect = EFFECT_TRANS;
199 185
        }
200 186
      }
......
207 193
      
208 194
      synchronized(lock)
209 195
        {
210
        DistortedEffects q = mRenderer.getEffects();
211
        q.abortByType(EffectType.VERTEX);
212
        q.abortByType(EffectType.FRAGMENT);
213
        q.apply(mEffectSwirl);
196
        mRenderer.apply(mEffectSwirl);
214 197
        mCurrEffect = EFFECT_SWIRL;
215 198
        }
216 199
      }
......
221 204
      {
222 205
      synchronized(lock)
223 206
        {
224
        DistortedEffects q = mRenderer.getEffects();
225
        q.abortByType(EffectType.VERTEX);
226
        q.abortByType(EffectType.FRAGMENT);
207
        mRenderer.apply(null);
227 208
        mCenter.removeAll();
228 209
        mCurrEffect = EFFECT_POINTS;
229 210
        mRenderer.setRefresh();

Also available in: Unified diff