Revision c41d046c
Added by Leszek Koltunski almost 6 years ago
src/main/java/org/distorted/library/main/DistortedOutputSurface.java | ||
---|---|---|
356 | 356 |
|
357 | 357 |
DistortedRenderState.enableStencil(); |
358 | 358 |
|
359 |
// we cannot compare DEPTH24_STENCIL8 format to DEPTH32 which oitRender's fragment shader expects.
|
|
359 |
// we have to unbind DEPTH buffer lest we create a feedback loop
|
|
360 | 360 |
|
361 | 361 |
if( mDepthStencil==BOTH_DEPTH_STENCIL ) |
362 | 362 |
{ |
363 |
GLES31.glBindFramebuffer(GLES31.GL_FRAMEBUFFER, mFBOH[0]); |
|
364 | 363 |
GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_DEPTH_STENCIL_ATTACHMENT, GLES31.GL_TEXTURE_2D, 0, 0); |
365 |
GLES31.glTexParameteri(GLES31.GL_TEXTURE_2D, GLES31.GL_DEPTH_STENCIL_TEXTURE_MODE, GLES31.GL_DEPTH_COMPONENT); |
|
364 |
} |
|
365 |
else if( mDepthStencil==DEPTH_NO_STENCIL ) |
|
366 |
{ |
|
367 |
GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_DEPTH_ATTACHMENT , GLES31.GL_TEXTURE_2D, 0, 0); |
|
366 | 368 |
} |
367 | 369 |
|
368 | 370 |
DistortedEffects.oitRender(this, buffer.getWidthCorrection(), buffer.getHeightCorrection() ); |
369 | 371 |
|
370 | 372 |
if( mDepthStencil==BOTH_DEPTH_STENCIL ) |
371 | 373 |
{ |
372 |
GLES31.glBindFramebuffer(GLES31.GL_FRAMEBUFFER, mFBOH[0]); |
|
373 | 374 |
GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_DEPTH_STENCIL_ATTACHMENT, GLES31.GL_TEXTURE_2D, mDepthStencilH[0], 0); |
374 | 375 |
} |
376 |
else if( mDepthStencil==DEPTH_NO_STENCIL ) |
|
377 |
{ |
|
378 |
GLES31.glFramebufferTexture2D(GLES31.GL_FRAMEBUFFER, GLES31.GL_DEPTH_ATTACHMENT , GLES31.GL_TEXTURE_2D, mDepthStencilH[0], 0); |
|
379 |
} |
|
375 | 380 |
|
376 | 381 |
GLES31.glActiveTexture(GLES31.GL_TEXTURE1); |
377 | 382 |
GLES31.glBindTexture(GLES31.GL_TEXTURE_2D, 0); |
Also available in: Unified diff
Make sure we don't create a feedback loop in oitRender