Project

General

Profile

« Previous | Next » 

Revision 835b197e

Added by Leszek Koltunski almost 3 years ago

Move the information when was a EffectQueue last time evaluated from the EffectQueues all the way up to the Node which contains them.
The point: we need to reset this time back to 0 every time we attach the Node (and thus start evaluating the Queues inside)

View differences:

src/main/java/org/distorted/library/effectqueue/EffectQueue.java
49 49
  private static final int DETACH = 2;
50 50
  private static final int DETALL = 3;
51 51

  
52
  long mTime;
53 52
  int mNumEffects;              // 'ToBe' will be more than mNumEffects if doWork() hasn't
54 53
  private int mNumEffectsToBe;  // added them yet (or less if it hasn't removed some yet)
55 54
  Effect[] mEffects;
......
85 84
  EffectQueue(int numFloatUniforms, int numIntUniforms, boolean useUBO, int index)
86 85
    {
87 86
    mCreated        = false;
88
    mTime           = 0;
89 87
    mID             = 0;
90 88
    mNumEffects     = 0;
91 89
    mNumEffectsToBe = 0;
......
105 103
    if( !source.mCreated )
106 104
      {
107 105
      mCreated        = false;
108
      mTime           = 0;
109 106
      mID             = 0;
110 107
      mNumEffects     = 0;
111 108
      mNumEffectsToBe = 0;
......
126 123
    else
127 124
      {
128 125
      mCreated        = true;
129
      mTime           = source.mTime;
130 126
      mID             = source.mID;
131 127
      mNumEffects     = source.mNumEffects;
132 128
      mNumEffectsToBe = source.mNumEffectsToBe;
......
162 158

  
163 159
///////////////////////////////////////////////////////////////////////////////////////////////////
164 160

  
165
  public static void compute(EffectQueue[] queues, long currTime)
161
  public static void compute(EffectQueue[] queues, long currTime, long step)
166 162
    {
167
    ((EffectQueueMatrix     )queues[0]).compute(currTime);
168
    ((EffectQueueVertex     )queues[1]).compute(currTime);
169
    ((EffectQueueFragment   )queues[2]).compute(currTime);
170
    ((EffectQueuePostprocess)queues[3]).compute(currTime);
163
    ((EffectQueueMatrix     )queues[0]).compute(currTime,step);
164
    ((EffectQueueVertex     )queues[1]).compute(currTime,step);
165
    ((EffectQueueFragment   )queues[2]).compute(currTime,step);
166
    ((EffectQueuePostprocess)queues[3]).compute(currTime,step);
171 167
    }
172 168

  
173 169
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff