Project

General

Profile

« Previous | Next » 

Revision 8426bd6a

Added by Leszek Koltunski about 7 years ago

Mipmap levels!

View differences:

src/main/java/org/distorted/library/EffectQueuePostprocess.java
99 99
  private static float[] mOffsets = new float[MAX_BLUR];
100 100
  // another effect ....
101 101

  
102
  int mQuality;
103

  
102 104
///////////////////////////////////////////////////////////////////////////////////////////////////
103 105

  
104 106
  EffectQueuePostprocess(long id)
105 107
    { 
106 108
    super(id,NUM_UNIFORMS,NUM_CACHE,INDEX );
109

  
110
    mQuality = 0;
107 111
    }
108 112

  
109 113
///////////////////////////////////////////////////////////////////////////////////////////////////
......
259 263
      {
260 264
      compute(time);
261 265

  
262
      float w1 = surface.mBuffer1[DistortedOutputSurface.CUR_MIPMAP].mWidth;
263
      float h1 = surface.mBuffer2[DistortedOutputSurface.CUR_MIPMAP].mHeight;
266
      DistortedFramebuffer buffer1 = surface.mBuffer1[mQuality];
267
      DistortedFramebuffer buffer2 = surface.mBuffer1[mQuality];
268

  
269
      float w1 = buffer1.mWidth;
270
      float h1 = buffer1.mHeight;
264 271
      float w2 = surface.mWidth;
265 272
      float h2 = surface.mHeight;
266 273

  
......
274 281
      // horizontal blur
275 282
      GLES30.glViewport(0, 0, (int)w1, (int)h1);
276 283
      mBlur1Program.useProgram();
277
      surface.mBuffer1[DistortedOutputSurface.CUR_MIPMAP].setAsInput();
278
      surface.mBuffer2[DistortedOutputSurface.CUR_MIPMAP].setAsOutput(time);
284
      buffer1.setAsInput();
285
      buffer2.setAsOutput(time);
279 286

  
280 287
      GLES30.glUniform1fv( mWeights1H, radius+1, weightsCache,offset);
281 288
      GLES30.glUniform1i( mRadius1H, radius);
......
290 297
      // vertical blur
291 298
      GLES30.glViewport(0, 0, (int)w2, (int)h2);
292 299
      mBlur2Program.useProgram();
293
      surface.mBuffer2[DistortedOutputSurface.CUR_MIPMAP].setAsInput();
294
      surface.mBuffer1[DistortedOutputSurface.CUR_MIPMAP].setAsDepth();
300
      buffer2.setAsInput();
301
      buffer1.setAsDepth();
295 302
      surface.setAsOutput(time);
296 303

  
297 304
      GLES30.glUniform1fv( mWeights2H, radius+1, weightsCache,offset);

Also available in: Unified diff