Revision e2d8ea1d
Added by Leszek Koltunski almost 8 years ago
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
Progress with Vertex3D