Project

General

Profile

« Previous | Next » 

Revision 513b2e9c

Added by Leszek Koltunski almost 4 years ago

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.

View differences:

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