Project

General

Profile

« Previous | Next » 

Revision e2d8ea1d

Added by Leszek Koltunski almost 8 years ago

Progress with Vertex3D

View differences:

src/main/java/org/distorted/examples/vertex3d/Vertex3DActivity.java
38 38
{
39 39
    private SeekBar bar;
40 40
    private TextView textDeform, textDistort, textSink, textSwirl;
41
    private int moveX, moveY, moveZ;
42
    private int scaleX, scaleY, scaleZ;
43
    private int rotateX, rotateY, rotateZ, rotateA;
44
    private int shearX, shearY, shearZ;
41
    private int deformX, deformY, deformZ;
42
    private int distortX, distortY, distortZ;
43
    private int sinkA;
44
    private int swirlA;
45 45
    
46 46
    private int maxX, maxY, maxZ;
47 47
    
48
    private float fmoveX, fmoveY, fmoveZ;
49
    private float fscaleX, fscaleY, fscaleZ;
50
    private float frotateX, frotateY, frotateZ, frotateA;
51
    private float fshearX, fshearY, fshearZ;
48
    private float fdeformX, fdeformY, fdeformZ;
49
    private float fdistortX, fdistortY, fdistortZ;
50
    private float fsinkA;
51
    private float fswirlA;
52 52
    
53 53
    private EffectNames[] effects = new EffectNames[4];
54 54
    
......
71 71
      effects[2] = EffectNames.SINK;
72 72
      effects[3] = EffectNames.SWIRL;
73 73
    
74
      moveX = 50;
75
      moveY = 50;
76
      moveZ = 50;
77
      
78
      scaleX = 50;
79
      scaleY = 50;
80
      scaleZ = 50;
81
      
82
      rotateX = 100;
83
      rotateY =  50;
84
      rotateZ =  50;
85
      rotateA =  50;
86
      
87
      shearX = 50;
88
      shearY = 50;
89
      shearZ = 50;
90
      
74
      deformX = 50;
75
      deformY = 50;
76
      deformZ = 50;
77

  
78
      distortX = 50;
79
      distortY = 50;
80
      distortZ = 50;
81

  
82
      sinkA =  50;
83
      swirlA = 50;
84

  
91 85
      addViews();
92 86
      }
93 87
    
......
125 119
      setSinkText();
126 120
      setSwirlText();
127 121
      
128
      setBar(R.id.vertex3ddeformBar1, moveX);
129
      setBar(R.id.vertex3ddeformBar2, moveY);
130
      setBar(R.id.vertex3ddeformBar3, moveZ);
131
      
132
      setBar(R.id.vertex3ddistortBar1, scaleX);
133
      setBar(R.id.vertex3ddistortBar2, scaleY);
134
      setBar(R.id.vertex3ddistortBar3, scaleZ);
135
      
136
      setBar(R.id.vertex3dsinkBar1, rotateX);
137
      setBar(R.id.vertex3dsinkBar2, rotateY);
138
      setBar(R.id.vertex3dsinkBar3, rotateZ);
122
      setBar(R.id.vertex3ddeformBar1, deformX);
123
      setBar(R.id.vertex3ddeformBar2, deformY);
124
      setBar(R.id.vertex3ddeformBar3, deformZ);
139 125

  
140
      setBar(R.id.vertex3dswirlBar1, shearX);
141
      setBar(R.id.vertex3dswirlBar2, shearY);
142
      setBar(R.id.vertex3dswirlBar3, shearZ);
126
      setBar(R.id.vertex3ddistortBar1, distortX);
127
      setBar(R.id.vertex3ddistortBar2, distortY);
128
      setBar(R.id.vertex3ddistortBar3, distortZ);
143 129
      
130
      setBar(R.id.vertex3dsinkBar1, sinkA);
131

  
132
      setBar(R.id.vertex3dswirlBar1, swirlA);
133

  
144 134
      Vertex3DRenderer.setOrder(effects);
145 135
      }
146 136

  
......
217 207

  
218 208
    private void computeDeform()
219 209
      {
220
      fmoveX = (moveX-50)*maxX/50.0f;
221
      fmoveY = (moveY-50)*maxY/50.0f;
222
      fmoveZ = (moveZ-50)*maxZ/50.0f;
210
      fdeformX = (deformX-50)*maxX/50.0f;
211
      fdeformY = (deformY-50)*maxY/50.0f;
212
      fdeformZ = (deformZ-50)*maxZ/50.0f;
223 213

  
224
      Vertex3DRenderer.setDeform( fmoveX, fmoveY, fmoveZ);
214
      Vertex3DRenderer.setDeform( fdeformX, fdeformY, fdeformZ );
225 215
      }
226 216

  
227 217
///////////////////////////////////////////////////////////////////////////////////////////////////
228 218

  
229 219
    private void setDeformText()
230 220
      {
231
      fmoveX = ((int)(100*fmoveX))/100.0f;
232
      fmoveY = ((int)(100*fmoveY))/100.0f;
233
      fmoveZ = ((int)(100*fmoveZ))/100.0f;
221
      fdeformX = ((int)(100*fdeformX))/100.0f;
222
      fdeformY = ((int)(100*fdeformY))/100.0f;
223
      fdeformZ = ((int)(100*fdeformZ))/100.0f;
234 224

  
235
      textDeform.setText("deform("+fmoveX+" , "+fmoveY+" , "+fmoveZ+")");
225
      textDeform.setText("deform("+fdeformX+" , "+fdeformY+" , "+fdeformZ+")");
236 226
      }
237 227

  
238 228
///////////////////////////////////////////////////////////////////////////////////////////////////
239 229

  
240 230
    private void computeDistort()
241 231
      {
242
      fscaleX = (scaleX>50 ? 0.18f : 0.018f)*(scaleX-50)+1;
243
      fscaleY = (scaleY>50 ? 0.18f : 0.018f)*(scaleY-50)+1;
244
      fscaleZ = (scaleZ>50 ? 0.18f : 0.018f)*(scaleZ-50)+1;
232
      fdistortX = (distortX-50)*maxX/50.0f;
233
      fdistortY = (distortY-50)*maxY/50.0f;
234
      fdistortZ = (distortZ-50)*maxZ/50.0f;
245 235

  
246
      Vertex3DRenderer.setDistort(fscaleX, fscaleY, fscaleZ);
236
      Vertex3DRenderer.setDistort(fdistortX, fdistortY, fdistortZ);
247 237
      }
248 238

  
249 239
///////////////////////////////////////////////////////////////////////////////////////////////////
250 240

  
251 241
    private void setDistortText()
252 242
      {
253
      fscaleX = ((int)(100*fscaleX))/100.0f;
254
      fscaleY = ((int)(100*fscaleY))/100.0f;
255
      fscaleZ = ((int)(100*fscaleZ))/100.0f;
243
      fdistortX = ((int)(100*fdistortX))/100.0f;
244
      fdistortY = ((int)(100*fdistortY))/100.0f;
245
      fdistortZ = ((int)(100*fdistortZ))/100.0f;
256 246

  
257
      textDistort.setText("distort("+fscaleX+" , "+fscaleY+" , "+fscaleZ+")");
247
      textDistort.setText("distort("+fdistortX+" , "+fdistortY+" , "+fdistortZ+")");
258 248
      }
259 249

  
260 250
///////////////////////////////////////////////////////////////////////////////////////////////////
261 251

  
262 252
    private void computeSink()
263 253
      {
264
      frotateX = (rotateX-50)/50.0f;
265
      frotateY = (rotateY-50)/50.0f;
266
      frotateZ = (rotateZ-50)/50.0f;
254
      fsinkA = (sinkA>= 50 ? sinkA-49 : 1/(51-sinkA));
267 255

  
268
      Vertex3DRenderer.setSink( frotateA, frotateX, frotateY, frotateZ );
256
      Vertex3DRenderer.setSink( fsinkA );
269 257
      }
270 258

  
271 259
///////////////////////////////////////////////////////////////////////////////////////////////////
272 260

  
273 261
    private void setSinkText()
274 262
      {
275
      frotateX = ((int)(100*frotateX))/100.0f;
276
      frotateY = ((int)(100*frotateY))/100.0f;
277
      frotateZ = ((int)(100*frotateZ))/100.0f;
278

  
279
      frotateA = ((rotateA-50)*180)/50;
263
      fsinkA = ((int)(100*fsinkA))/100.0f;
280 264

  
281
      textSink.setText("sink( "+frotateA+" ("+frotateX+","+frotateY+","+frotateZ+") )");
265
      textSink.setText("sink("+fsinkA+")");
282 266
      }
283 267

  
284 268
///////////////////////////////////////////////////////////////////////////////////////////////////
285 269

  
286 270
    private void computeSwirl()
287 271
      {
288
      fshearX = (shearX-50)/25.0f;
289
      fshearY = (shearY-50)/25.0f;
290
      fshearZ = (shearZ-50)/25.0f;
272
      fswirlA = (swirlA-50)*3.6f;
291 273

  
292
      Vertex3DRenderer.setSwirl( fshearX, fshearY, fshearZ );
274
      Vertex3DRenderer.setSwirl( fswirlA );
293 275
      }
294 276
    
295 277
///////////////////////////////////////////////////////////////////////////////////////////////////
296 278

  
297 279
    private void setSwirlText()
298 280
      {
299
      fshearX = ((int)(100*fshearX))/100.0f;
300
      fshearY = ((int)(100*fshearY))/100.0f;
301
      fshearZ = ((int)(100*fshearZ))/100.0f;
302
      
303
      textSwirl.setText("swirl("+fshearX+" , "+fshearY+" , "+fshearZ+")");
281
      fswirlA = ((int)(100*fswirlA))/100.0f;
282

  
283
      textSwirl.setText("swirl("+fswirlA+")");
304 284
      }
305 285
   
306 286
///////////////////////////////////////////////////////////////////////////////////////////////////
......
352 332
      {
353 333
      switch (bar.getId()) 
354 334
        {
355
        case R.id.vertex3ddeformBar1  : moveX = progress; computeDeform()  ; setDeformText()  ; break;
356
        case R.id.vertex3ddeformBar2  : moveY = progress; computeDeform()  ; setDeformText()  ; break;
357
        case R.id.vertex3ddeformBar3  : moveZ = progress; computeDeform()  ; setDeformText()  ; break;
358
        
359
        case R.id.vertex3ddistortBar1 : scaleX= progress; computeDistort() ; setDistortText() ; break;
360
        case R.id.vertex3ddistortBar2 : scaleY= progress; computeDistort() ; setDistortText() ; break;
361
        case R.id.vertex3ddistortBar3 : scaleZ= progress; computeDistort() ; setDistortText() ; break;
335
        case R.id.vertex3ddeformBar1  : deformX= progress; computeDeform()  ; setDeformText()  ; break;
336
        case R.id.vertex3ddeformBar2  : deformY= progress; computeDeform()  ; setDeformText()  ; break;
337
        case R.id.vertex3ddeformBar3  : deformZ= progress; computeDeform()  ; setDeformText()  ; break;
338

  
339
        case R.id.vertex3ddistortBar1 : distortX= progress; computeDistort(); setDistortText() ; break;
340
        case R.id.vertex3ddistortBar2 : distortY= progress; computeDistort(); setDistortText() ; break;
341
        case R.id.vertex3ddistortBar3 : distortZ= progress; computeDistort(); setDistortText() ; break;
362 342
        
363
        case R.id.vertex3dsinkBar1    : rotateX=progress; computeSink()    ; setSinkText()    ; break;
364
        case R.id.vertex3dsinkBar2    : rotateY=progress; computeSink()    ; setSinkText()    ; break;
365
        case R.id.vertex3dsinkBar3    : rotateZ=progress; computeSink()    ; setSinkText()    ; break;
343
        case R.id.vertex3dsinkBar1    : sinkA   = progress; computeSink()   ; setSinkText()    ; break;
366 344

  
367
        case R.id.vertex3dswirlBar1   : shearX= progress; computeSwirl()   ; setSwirlText()   ; break;
368
        case R.id.vertex3dswirlBar2   : shearY= progress; computeSwirl()   ; setSwirlText()   ; break;
369
        case R.id.vertex3dswirlBar3   : shearZ= progress; computeSwirl()   ; setSwirlText()   ; break;
345
        case R.id.vertex3dswirlBar1   : swirlA  = progress; computeSwirl()  ; setSwirlText()   ; break;
370 346
        }
371 347
      }
372 348

  

Also available in: Unified diff