Project

General

Profile

« Previous | Next » 

Revision 15aa7d94

Added by Leszek Koltunski almost 7 years ago

Progress with support for Effect classes.

View differences:

src/main/java/org/distorted/library/effect/MatrixEffectRotate.java
23 23
import org.distorted.library.type.Data3D;
24 24
import org.distorted.library.type.Data4D;
25 25
import org.distorted.library.type.Dynamic1D;
26
import org.distorted.library.type.Dynamic3D;
26 27
import org.distorted.library.type.Dynamic4D;
27 28
import org.distorted.library.type.Static1D;
28 29
import org.distorted.library.type.Static3D;
......
53 54
      }
54 55

  
55 56
    mStatic1 = axis;
56
    mCenter = center;
57

  
58
    if( center instanceof Static3D)
59
      {
60
      mStaticCenter = (Static3D)center;
61
      }
62
    else if( center instanceof Dynamic3D )
63
      {
64
      mDynamicCenter = (Dynamic3D)center;
65
      }
57 66
    }
58 67

  
59 68
///////////////////////////////////////////////////////////////////////////////////////////////////
......
71 80
      mDynamic0 = (Dynamic4D)angleaxis;
72 81
      }
73 82

  
74
    mCenter = center;
83
    if( center instanceof Static3D)
84
      {
85
      mStaticCenter = (Static3D)center;
86
      }
87
    else if( center instanceof Dynamic3D )
88
      {
89
      mDynamicCenter = (Dynamic3D)center;
90
      }
75 91
    }
76 92

  
93
///////////////////////////////////////////////////////////////////////////////////////////////////
94

  
95
  public boolean compute(float[] uniforms, int index, long currentDuration, long step )
96
    {
97
    if( mDynamicCenter!=null )
98
      {
99
      mDynamicCenter.interpolateMain(uniforms,index+4,currentDuration,step);
100
      }
101
    else
102
      {
103
      uniforms[index+4] = mStaticCenter.getX();
104
      uniforms[index+5] = mStaticCenter.getY();
105
      uniforms[index+6] = mStaticCenter.getZ();
106
      }
107

  
108
    if( mDynamic0!=null )
109
      {
110
      return mDynamic0.interpolateMain(uniforms,index,currentDuration,step);
111
      }
112
    else
113
      {
114
      if( mStatic1 != null )
115
        {
116
        uniforms[index  ] = ((Static1D)mStatic0).getX();
117
        uniforms[index+1] = ((Static3D)mStatic1).getX();
118
        uniforms[index+2] = ((Static3D)mStatic1).getY();
119
        uniforms[index+3] = ((Static3D)mStatic1).getZ();
120
        }
121
      else
122
        {
123
        uniforms[index  ] = ((Static4D)mStatic0).getX();
124
        uniforms[index+1] = ((Static4D)mStatic0).getY();
125
        uniforms[index+2] = ((Static4D)mStatic0).getZ();
126
        uniforms[index+3] = ((Static4D)mStatic0).getW();
127
        }
128

  
129
      return false;
130
      }
131
    }
77 132
  }

Also available in: Unified diff