Project

General

Profile

« Previous | Next » 

Revision b7dba709

Added by Leszek Koltunski about 7 years ago

Roll back the recent MIPMAP work.

View differences:

src/main/java/org/distorted/library/EffectQueuePostprocess.java
93 93
  private static float[] offsetsCache = new float[MAX_BLUR + MAX_BLUR*MAX_BLUR/4];
94 94

  
95 95
  private static DistortedProgram mBlur1Program, mBlur2Program;
96
  private static int mRadius1H,mOffsets1H,mWeights1H,mDepth1H, mScale1H, mColorTexture1H;
97
  private static int mRadius2H,mOffsets2H,mWeights2H,mDepth2H, mScale2H, mColorTexture2H, mDepthTexture2H;
96
  private static int mRadius1H,mOffsets1H,mWeights1H,mDepth1H, mColorTexture1H;
97
  private static int mRadius2H,mOffsets2H,mWeights2H,mDepth2H, mColorTexture2H, mDepthTexture2H;
98 98
  private static float[] mWeights = new float[MAX_BLUR];
99 99
  private static float[] mOffsets = new float[MAX_BLUR];
100 100
  // another effect ....
......
131 131
    mOffsets1H      = GLES30.glGetUniformLocation( blur1ProgramH, "u_Offsets");
132 132
    mWeights1H      = GLES30.glGetUniformLocation( blur1ProgramH, "u_Weights");
133 133
    mDepth1H        = GLES30.glGetUniformLocation( blur1ProgramH, "u_Depth");
134
    mScale1H        = GLES30.glGetUniformLocation( blur1ProgramH, "u_Scale");
135 134
    mColorTexture1H = GLES30.glGetUniformLocation( blur1ProgramH, "u_ColorTexture");
136 135

  
137 136
    final InputStream blur2VertexStream   = resources.openRawResource(R.raw.blur_vertex_shader);
......
155 154
    mOffsets2H      = GLES30.glGetUniformLocation( blur2ProgramH, "u_Offsets");
156 155
    mWeights2H      = GLES30.glGetUniformLocation( blur2ProgramH, "u_Weights");
157 156
    mDepth2H        = GLES30.glGetUniformLocation( blur2ProgramH, "u_Depth");
158
    mScale2H        = GLES30.glGetUniformLocation( blur2ProgramH, "u_Scale");
159 157
    mColorTexture2H = GLES30.glGetUniformLocation( blur2ProgramH, "u_ColorTexture");
160 158
    mDepthTexture2H = GLES30.glGetUniformLocation( blur2ProgramH, "u_DepthTexture");
161 159
    }
......
261 259
      {
262 260
      compute(time);
263 261

  
264
      surface.mBuffer1[DistortedOutputSurface.CUR_MIPMAP].setAsInput();
265
      float w = surface.mBuffer1[DistortedOutputSurface.CUR_MIPMAP].mWidth;
266
      float h = surface.mBuffer1[DistortedOutputSurface.CUR_MIPMAP].mHeight;
262
      surface.mBuffer1.setAsInput();
263
      float w = surface.mBuffer1.mWidth;
264
      float h = surface.mBuffer2.mHeight;
267 265

  
268 266
      int radius = (int)mUniforms[0];
269 267
      if( radius>=MAX_BLUR ) radius = MAX_BLUR-1;
......
276 274

  
277 275
      // horizontal blur
278 276
      mBlur1Program.useProgram();
279
      surface.mBuffer2[DistortedOutputSurface.CUR_MIPMAP].setAsOutput(time);
277
      surface.mBuffer2.setAsOutput(time);
280 278

  
281 279
      GLES30.glUniform1fv( mWeights1H, radius+1, weightsCache,offset);
282 280
      GLES30.glUniform1i( mRadius1H, radius);
283 281
      GLES30.glUniform1f( mDepth1H , 1.0f-surface.mNear);
284
      GLES30.glUniform1f( mScale1H , 1.0f);
285 282
      GLES30.glUniform1i( mColorTexture1H , 0 );
286 283
      for(int i=0; i<=radius; i++) mOffsets[i] = offsetsCache[offset+i]/h;
287 284
      GLES30.glUniform1fv( mOffsets1H ,radius+1, mOffsets,0);
......
291 288

  
292 289
      // vertical blur
293 290
      mBlur2Program.useProgram();
294
      surface.mBuffer2[DistortedOutputSurface.CUR_MIPMAP].setAsInput();
295
      surface.mBuffer1[DistortedOutputSurface.CUR_MIPMAP].setAsDepth();
291
      surface.mBuffer2.setAsInput();
292
      surface.mBuffer1.setAsDepth();
296 293
      surface.setAsOutput(time);
297 294

  
298 295
      GLES30.glUniform1fv( mWeights2H, radius+1, weightsCache,offset);
299 296
      GLES30.glUniform1i( mRadius2H, radius);
300 297
      GLES30.glUniform1f( mDepth2H , 1.0f-surface.mNear);
301
      GLES30.glUniform1f( mScale2H , 0.9f);
302 298
      GLES30.glUniform1i( mColorTexture2H , 0 );
303 299
      GLES30.glUniform1i( mDepthTexture2H , 1 );
304 300
      for(int i=0; i<=radius; i++) mOffsets[i] = offsetsCache[offset+i]/w;

Also available in: Unified diff