Revision 1d811f85
Added by Leszek Koltunski about 8 years ago
src/main/java/org/distorted/examples/matrix3d/Matrix3DActivity.java | ||
---|---|---|
36 | 36 |
|
37 | 37 |
public class Matrix3DActivity extends Activity implements OnSeekBarChangeListener |
38 | 38 |
{ |
39 |
private SeekBar bar; |
|
40 | 39 |
private TextView textMove, textScale, textRotate, textShear; |
41 | 40 |
private int moveX, moveY, moveZ; |
42 | 41 |
private int scaleX, scaleY, scaleZ; |
43 | 42 |
private int rotateX, rotateY, rotateZ, rotateA; |
44 | 43 |
private int shearX, shearY, shearZ; |
45 |
|
|
46 | 44 |
private int maxX, maxY, maxZ; |
47 |
|
|
48 | 45 |
private float fmoveX, fmoveY, fmoveZ; |
49 | 46 |
private float fscaleX, fscaleY, fscaleZ; |
50 | 47 |
private float frotateX, frotateY, frotateZ, frotateA; |
... | ... | |
142 | 139 |
setBar(R.id.matrix3dshearBar2, shearY); |
143 | 140 |
setBar(R.id.matrix3dshearBar3, shearZ); |
144 | 141 |
|
145 |
Matrix3DRenderer.setOrder(effects); |
|
142 |
Matrix3DSurfaceView view = (Matrix3DSurfaceView) this.findViewById(R.id.matrix3dSurfaceView); |
|
143 |
view.getRenderer().setOrder(effects); |
|
146 | 144 |
} |
147 | 145 |
|
148 | 146 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
209 | 207 |
|
210 | 208 |
private void setBar(int id, int value) |
211 | 209 |
{ |
212 |
bar = (SeekBar)findViewById(id); |
|
210 |
SeekBar bar = (SeekBar)findViewById(id);
|
|
213 | 211 |
bar.setOnSeekBarChangeListener(this); |
214 | 212 |
bar.setProgress(value); |
215 | 213 |
} |
... | ... | |
222 | 220 |
fmoveY = (moveY-50)*maxY/50.0f; |
223 | 221 |
fmoveZ = (moveZ-50)*maxZ/50.0f; |
224 | 222 |
|
225 |
Matrix3DRenderer.setMove( fmoveX, fmoveY, fmoveZ); |
|
223 |
Matrix3DSurfaceView view = (Matrix3DSurfaceView) this.findViewById(R.id.matrix3dSurfaceView); |
|
224 |
view.getRenderer().setMove( fmoveX, fmoveY, fmoveZ); |
|
226 | 225 |
} |
227 | 226 |
|
228 | 227 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
244 | 243 |
fscaleY = (scaleY>50 ? 0.18f : 0.018f)*(scaleY-50)+1; |
245 | 244 |
fscaleZ = (scaleZ>50 ? 0.18f : 0.018f)*(scaleZ-50)+1; |
246 | 245 |
|
247 |
Matrix3DRenderer.setScale(fscaleX, fscaleY, fscaleZ); |
|
246 |
Matrix3DSurfaceView view = (Matrix3DSurfaceView) this.findViewById(R.id.matrix3dSurfaceView); |
|
247 |
view.getRenderer().setScale(fscaleX, fscaleY, fscaleZ); |
|
248 | 248 |
} |
249 | 249 |
|
250 | 250 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
266 | 266 |
frotateY = (rotateY-50)/50.0f; |
267 | 267 |
frotateZ = (rotateZ-50)/50.0f; |
268 | 268 |
|
269 |
Matrix3DRenderer.setRotate( frotateA, frotateX, frotateY, frotateZ ); |
|
269 |
Matrix3DSurfaceView view = (Matrix3DSurfaceView) this.findViewById(R.id.matrix3dSurfaceView); |
|
270 |
view.getRenderer().setRotate( frotateA, frotateX, frotateY, frotateZ ); |
|
270 | 271 |
} |
271 | 272 |
|
272 | 273 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
289 | 290 |
fshearX = (shearX-50)/25.0f; |
290 | 291 |
fshearY = (shearY-50)/25.0f; |
291 | 292 |
fshearZ = (shearZ-50)/25.0f; |
292 |
|
|
293 |
Matrix3DRenderer.setShear( fshearX, fshearY, fshearZ ); |
|
293 |
|
|
294 |
Matrix3DSurfaceView view = (Matrix3DSurfaceView) this.findViewById(R.id.matrix3dSurfaceView); |
|
295 |
view.getRenderer().setShear( fshearX, fshearY, fshearZ ); |
|
294 | 296 |
} |
295 | 297 |
|
296 | 298 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
309 | 311 |
@Override |
310 | 312 |
protected void onPause() |
311 | 313 |
{ |
312 |
GLSurfaceView mView = (GLSurfaceView) this.findViewById(R.id.matrix3dSurfaceView);
|
|
313 |
mView.onPause();
|
|
314 |
GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.matrix3dSurfaceView);
|
|
315 |
view.onPause();
|
|
314 | 316 |
super.onPause(); |
315 | 317 |
} |
316 | 318 |
|
... | ... | |
320 | 322 |
protected void onResume() |
321 | 323 |
{ |
322 | 324 |
super.onResume(); |
323 |
GLSurfaceView mView = (GLSurfaceView) this.findViewById(R.id.matrix3dSurfaceView);
|
|
324 |
mView.onResume();
|
|
325 |
GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.matrix3dSurfaceView);
|
|
326 |
view.onResume();
|
|
325 | 327 |
} |
326 | 328 |
|
327 | 329 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
331 | 333 |
{ |
332 | 334 |
super.onWindowFocusChanged(hasFocus); |
333 | 335 |
|
334 |
GLSurfaceView mView = (GLSurfaceView) this.findViewById(R.id.matrix3dSurfaceView);
|
|
336 |
GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.matrix3dSurfaceView);
|
|
335 | 337 |
|
336 |
maxX = mView.getWidth();
|
|
337 |
maxY = mView.getHeight();
|
|
338 |
maxX = view.getWidth();
|
|
339 |
maxY = view.getHeight();
|
|
338 | 340 |
maxZ = (maxX+maxY)/2; |
339 | 341 |
} |
340 | 342 |
|
src/main/java/org/distorted/examples/matrix3d/Matrix3DRenderer.java | ||
---|---|---|
48 | 48 |
private static final int SIZE = 100; |
49 | 49 |
|
50 | 50 |
private GLSurfaceView mView; |
51 |
private static DistortedCubes mCube; |
|
52 |
|
|
53 |
private static EffectNames[] order; |
|
51 |
private DistortedCubes mCube; |
|
52 |
private EffectNames[] order; |
|
54 | 53 |
|
55 |
private static Dynamic3D mMoveInter, mScaleInter, mShearInter; |
|
56 |
private static Dynamic4D mDynamicRotate; |
|
57 |
|
|
58 |
private static Static3D mZeroPoint, mMovePoint, mScalePoint, mShearPoint; |
|
59 |
private static Static4D mRotatePoint; |
|
54 |
private Dynamic3D mMoveInter, mScaleInter, mShearInter; |
|
55 |
private Dynamic4D mDynamicRotate; |
|
56 |
private Static3D mZeroPoint, mMovePoint, mScalePoint, mShearPoint; |
|
57 |
private Static4D mRotatePoint; |
|
60 | 58 |
|
61 | 59 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
62 | 60 |
|
63 |
public static void setMove(float x, float y, float z)
|
|
61 |
void setMove(float x, float y, float z) |
|
64 | 62 |
{ |
65 | 63 |
mMovePoint.set(x, y, z); |
66 | 64 |
} |
67 | 65 |
|
68 | 66 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
69 | 67 |
|
70 |
public static void setScale(float x, float y, float z)
|
|
68 |
void setScale(float x, float y, float z) |
|
71 | 69 |
{ |
72 | 70 |
mScalePoint.set(x, y, z); |
73 | 71 |
} |
74 | 72 |
|
75 | 73 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
76 | 74 |
|
77 |
public static void setRotate(float a, float x, float y, float z)
|
|
75 |
void setRotate(float a, float x, float y, float z) |
|
78 | 76 |
{ |
79 | 77 |
mRotatePoint.set(a,x,y,z); |
80 | 78 |
} |
81 | 79 |
|
82 | 80 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
83 | 81 |
|
84 |
public static void setShear(float x, float y, float z)
|
|
82 |
void setShear(float x, float y, float z) |
|
85 | 83 |
{ |
86 | 84 |
mShearPoint.set(x, y, z); |
87 | 85 |
} |
88 | 86 |
|
89 | 87 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
90 | 88 |
|
91 |
public static void setOrder(EffectNames[] effects)
|
|
89 |
void setOrder(EffectNames[] effects) |
|
92 | 90 |
{ |
93 | 91 |
order = effects; |
94 | 92 |
setMatrixEffects(); |
... | ... | |
96 | 94 |
|
97 | 95 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
98 | 96 |
|
99 |
public static void setMatrixEffects()
|
|
97 |
private void setMatrixEffects()
|
|
100 | 98 |
{ |
101 | 99 |
mCube.abortEffects(EffectTypes.MATRIX); |
102 | 100 |
|
... | ... | |
114 | 112 |
|
115 | 113 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
116 | 114 |
|
117 |
public Matrix3DRenderer(GLSurfaceView v)
|
|
115 |
Matrix3DRenderer(GLSurfaceView v) |
|
118 | 116 |
{ |
119 | 117 |
mView = v; |
120 | 118 |
mCube = new DistortedCubes( 1, "1", SIZE); |
src/main/java/org/distorted/examples/matrix3d/Matrix3DSurfaceView.java | ||
---|---|---|
28 | 28 |
|
29 | 29 |
class Matrix3DSurfaceView extends GLSurfaceView |
30 | 30 |
{ |
31 |
private Matrix3DRenderer mRenderer; |
|
32 |
|
|
31 | 33 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
32 | 34 |
|
33 | 35 |
public Matrix3DSurfaceView(Context c, AttributeSet attrs) |
... | ... | |
42 | 44 |
{ |
43 | 45 |
setEGLConfigChooser(8, 8, 8, 8, 16, 0); |
44 | 46 |
} |
45 |
|
|
46 |
setRenderer(new Matrix3DRenderer(this)); |
|
47 |
|
|
48 |
mRenderer = new Matrix3DRenderer(this); |
|
49 |
|
|
50 |
setRenderer(mRenderer); |
|
47 | 51 |
} |
48 | 52 |
} |
53 |
|
|
54 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
55 |
|
|
56 |
Matrix3DRenderer getRenderer() |
|
57 |
{ |
|
58 |
return mRenderer; |
|
59 |
} |
|
49 | 60 |
} |
50 | 61 |
|
Also available in: Unified diff
Tidy up 'Matrix3D'