Project

General

Profile

« Previous | Next » 

Revision 96e3b88a

Added by Leszek Koltunski over 3 years ago

Introducing UBO to Effect Queues: step 1.

View differences:

src/main/java/org/distorted/library/effectqueue/EffectQueueFragment.java
29 29

  
30 30
class EffectQueueFragment extends EffectQueue
31 31
  {
32
  private static final int NUM_UNIFORMS = FragmentEffect.NUM_UNIFORMS;
32
  private static final int NUM_FLOAT_UNIFORMS = FragmentEffect.NUM_FLOAT_UNIFORMS;
33
  private static final int NUM_INT_UNIFORMS   = FragmentEffect.NUM_INT_UNIFORMS;
34

  
33 35
  private static final int INDEX = EffectType.FRAGMENT.ordinal();
34 36

  
35 37
  private static int[] mNumEffectsH = new int[MAIN_VARIANTS];
......
40 42
   
41 43
  EffectQueueFragment()
42 44
    { 
43
    super(NUM_UNIFORMS,INDEX);
45
    super(NUM_FLOAT_UNIFORMS, NUM_INT_UNIFORMS, INDEX);
44 46
    }
45 47

  
46 48
///////////////////////////////////////////////////////////////////////////////////////////////////
......
69 71

  
70 72
    for(int i=0; i<mNumEffects; i++)
71 73
      {
72
      if( mEffects[i].compute(mUniforms, NUM_UNIFORMS*i, currTime, step) )
74
      if( mEffects[i].compute(mFloatUniforms, NUM_FLOAT_UNIFORMS*i, currTime, step) )
73 75
        {
74 76
        EffectMessageSender.newMessage(mEffects[i]);
75 77
        }
......
86 88

  
87 89
    if( mNumEffects>0 )
88 90
      {
89
      GLES30.glUniform1iv( mNameH[variant]    ,                 mNumEffects, mName    ,0);
90
      GLES30.glUniform4fv( mUniformsH[variant],(NUM_UNIFORMS/4)*mNumEffects, mUniforms,0);
91
for(int i=0; i<mNumEffects; i++)
92
  {
93
  String f =
94
  mFloatUniforms[12*i]+" "+
95
  mFloatUniforms[12*i+1]+" "+
96
  mFloatUniforms[12*i+2]+" "+
97
  mFloatUniforms[12*i+3]+" "+
98
  mFloatUniforms[12*i+4]+" "+
99
  mFloatUniforms[12*i+5]+" "+
100
  mFloatUniforms[12*i+6]+" "+
101
  mFloatUniforms[12*i+7]+" "+
102
  mFloatUniforms[12*i+8]+" "+
103
  mFloatUniforms[12*i+9]+" "+
104
  mFloatUniforms[12*i+10]+" "+
105
  mFloatUniforms[12*i+11];
106

  
107
  android.util.Log.e("frag", i+" name: "+mIntUniforms[i]+" float: "+f);
108
  }
109

  
110
      GLES30.glUniform1iv( mNameH[variant]    ,                       mNumEffects, mIntUniforms  , 0);
111
      GLES30.glUniform4fv( mUniformsH[variant],(NUM_FLOAT_UNIFORMS/4)*mNumEffects, mFloatUniforms, 0);
91 112
      }  
92 113
    }
93 114
  }

Also available in: Unified diff