Revision 513b2e9c
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/examples/generic/GenericEffect.java | ||
---|---|---|
118 | 118 |
case SCALE : effect = new MatrixEffectScale (mDyn3) ; break; |
119 | 119 |
case SHEAR : effect = new MatrixEffectShear (mDyn3, mCenterDyn) ; break; |
120 | 120 |
|
121 |
case DISTORT : effect = new VertexEffectDistort (mDyn3, mCenterDyn, mRegion4Dyn); break; |
|
122 |
case DEFORM : effect = new VertexEffectDeform (mDyn3, mCenterDyn, mRegion4Dyn); break;
|
|
123 |
case SINK : effect = new VertexEffectSink (mDyn1, mCenterDyn, mRegion4Dyn); break; |
|
124 |
case PINCH : effect = new VertexEffectPinch (mDyn3, mCenterDyn, mRegion4Dyn); break; |
|
125 |
case SWIRL : effect = new VertexEffectSwirl (mDyn1, mCenterDyn, mRegion4Dyn); break; |
|
126 |
case WAVE : effect = new VertexEffectWave (mDyn5, mCenterDyn, mRegion4Dyn); break; |
|
127 |
case VERTEX_MOVE : effect = new VertexEffectMove (mDyn3) ; break; |
|
128 |
case VERTEX_QUATERNION: effect = new VertexEffectQuaternion (mDyn4, mCenterDyn) ; break; |
|
129 |
case VERTEX_ROTATE : effect = new VertexEffectRotate (mDyn1, mDyn3, mCenterDyn) ; break; |
|
130 |
case VERTEX_SCALE : effect = new VertexEffectScale (mDyn3) ; break; |
|
131 |
case VERTEX_SHEAR : effect = new VertexEffectShear (mDyn3, mCenterDyn) ; break; |
|
121 |
case DISTORT : effect = new VertexEffectDistort (mDyn3, mCenterDyn, mRegion4Dyn) ; break;
|
|
122 |
case DEFORM : effect = new VertexEffectDeform (mDyn3, mDyn1, mCenterDyn, mRegion4Dyn) ; break;
|
|
123 |
case SINK : effect = new VertexEffectSink (mDyn1, mCenterDyn, mRegion4Dyn) ; break;
|
|
124 |
case PINCH : effect = new VertexEffectPinch (mDyn3, mCenterDyn, mRegion4Dyn) ; break;
|
|
125 |
case SWIRL : effect = new VertexEffectSwirl (mDyn1, mCenterDyn, mRegion4Dyn) ; break;
|
|
126 |
case WAVE : effect = new VertexEffectWave (mDyn5, mCenterDyn, mRegion4Dyn) ; break;
|
|
127 |
case VERTEX_MOVE : effect = new VertexEffectMove (mDyn3) ; break;
|
|
128 |
case VERTEX_QUATERNION: effect = new VertexEffectQuaternion (mDyn4, mCenterDyn) ; break;
|
|
129 |
case VERTEX_ROTATE : effect = new VertexEffectRotate (mDyn1, mDyn3, mCenterDyn) ; break;
|
|
130 |
case VERTEX_SCALE : effect = new VertexEffectScale (mDyn3) ; break;
|
|
131 |
case VERTEX_SHEAR : effect = new VertexEffectShear (mDyn3, mCenterDyn) ; break;
|
|
132 | 132 |
|
133 | 133 |
case ALPHA : effect = new FragmentEffectAlpha (mDyn1, mCenterDyn, mRegion3Dyn, false); break; |
134 | 134 |
case SMOOTH_ALPHA : effect = new FragmentEffectAlpha (mDyn1, mCenterDyn, mRegion3Dyn, true ); break; |
... | ... | |
207 | 207 |
/////////////////////////////////////////////////////////////////////////////////////// |
208 | 208 |
|
209 | 209 |
case VERTEX_MOVE : |
210 |
case DISTORT : |
|
211 |
case DEFORM : float ld = mAct.get().getWidth()/50.0f; |
|
210 |
case DISTORT : float ld = mAct.get().getWidth()/50.0f; |
|
212 | 211 |
float xd = (mInter[0]-50)*ld; |
213 | 212 |
float yd = (mInter[1]-50)*ld; |
214 | 213 |
float zd = (mInter[2]-50)*ld; |
215 | 214 |
mSta3.set(xd,yd,zd); |
216 | 215 |
break; |
216 |
case DEFORM : float le = mAct.get().getWidth()/50.0f; |
|
217 |
float xe = (mInter[0]-50)*le; |
|
218 |
float ye = (mInter[1]-50)*le; |
|
219 |
float ze = (mInter[2]-50)*le; |
|
220 |
mSta3.set(xe,ye,ze); |
|
221 |
float re = (mInter[3])*le; |
|
222 |
mSta1.set(re); |
|
223 |
break; |
|
217 | 224 |
case WAVE : float l2 = mAct.get().getWidth()/50.0f; |
218 | 225 |
float x2 = (mInter[0]-50)*l2; |
219 | 226 |
float y2 = (mInter[1]-50)*l2; |
Also available in: Unified diff
A lot of changes.
1) main vertex shader: remove support for degree_object. This functionality will hopefully come back when we introduce other than circular regions.
2) MeshBase: remove the need to set a Bounding box (this is the point of the whole thing - we wanted to get rid of this so that the advances in MeshJoined will be easier)
3) Set ground for removing the MeshBase.setStretch / getStretch (another thing needed to advance MeshJoined )
4) since we removed the Bounding box, we need to change the DEFORN effect to have 1 additional parameter, the 'radius' which takes over the function of the bounding box in the vertex shader.
5) since the'res no bounding box, simplify the postprocessing Halo (remove EffectQueueMatrix.magnify() )
6) adjust applications.
After this we will hopefully be ready to introduce MeshBase.preApply(VertexEffect), i.e. bending several simple Meshes with any VertexEffect - including the freshly-introduced PseudoMatrix-Vertex effects like VertexEffectScale - and then combining them into one MeshJoined.