Revision 8426bd6a
Added by Leszek Koltunski about 7 years ago
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
Mipmap levels!