diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-01-29 20:16:11 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-01-30 00:00:15 +0300 |
commit | ba9a4deddad599fbbbcfe7305b1937aa95f495bd (patch) | |
tree | 0b07e703c9271d5e4dc4a9b5310742d300b628a2 /source/blender/draw/engines/eevee/eevee_temporal_sampling.c | |
parent | 847613c34ecdd61effe820e5e4cabe9c3dc4915c (diff) |
Eevee: Initial Final Render support.
TAA / multiple samples is not working at the moment.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_temporal_sampling.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_temporal_sampling.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_temporal_sampling.c b/source/blender/draw/engines/eevee/eevee_temporal_sampling.c index 3ed2a20e68c..f4bf554f5b3 100644 --- a/source/blender/draw/engines/eevee/eevee_temporal_sampling.c +++ b/source/blender/draw/engines/eevee/eevee_temporal_sampling.c @@ -142,6 +142,8 @@ int EEVEE_temporal_sampling_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data return EFFECT_TAA | EFFECT_DOUBLE_BUFFER | EFFECT_POST_BUFFER; } + effects->taa_current_sample = 1; + /* Cleanup to release memory */ DRW_TEXTURE_FREE_SAFE(txl->depth_double_buffer); DRW_FRAMEBUFFER_FREE_SAFE(fbl->depth_double_buffer_fb); @@ -189,7 +191,9 @@ void EEVEE_temporal_sampling_draw(EEVEE_Data *vedata) DRW_draw_pass(psl->taa_resolve); /* Restore the depth from sample 1. */ - DRW_framebuffer_blit(fbl->depth_double_buffer_fb, fbl->main, true, false); + if (!DRW_state_is_image_render()) { + DRW_framebuffer_blit(fbl->depth_double_buffer_fb, fbl->main, true, false); + } /* Special Swap */ SWAP(struct GPUFrameBuffer *, fbl->effect_fb, fbl->double_buffer); @@ -202,7 +206,9 @@ void EEVEE_temporal_sampling_draw(EEVEE_Data *vedata) /* Save the depth buffer for the next frame. * This saves us from doing anything special * in the other mode engines. */ - DRW_framebuffer_blit(fbl->main, fbl->depth_double_buffer_fb, true, false); + if (!DRW_state_is_image_render()) { + DRW_framebuffer_blit(fbl->main, fbl->depth_double_buffer_fb, true, false); + } } /* Make each loop count when doing a render. */ |