Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-06-14 19:19:45 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-06-14 20:17:06 +0300
commit88cce6faea6930321561df22822748c32ee98c1a (patch)
tree994438fd50950f853dce4363cbea571b93d59692 /source/blender/draw/engines/eevee
parent34644f520a467d39854d95ecd7af6d41c3a4745e (diff)
Fix T65569 Eevee: Volumetrics on alphablend surf. not working in renders
The wrong volume buffer was used one frame out of two.
Diffstat (limited to 'source/blender/draw/engines/eevee')
-rw-r--r--source/blender/draw/engines/eevee/eevee_volumes.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c
index e3afa91a5a9..a14e9b08053 100644
--- a/source/blender/draw/engines/eevee/eevee_volumes.c
+++ b/source/blender/draw/engines/eevee/eevee_volumes.c
@@ -571,10 +571,6 @@ void EEVEE_volumes_draw_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
{GPU_ATTACHMENT_NONE,
GPU_ATTACHMENT_TEXTURE(txl->volume_scatter_history),
GPU_ATTACHMENT_TEXTURE(txl->volume_transmit_history)});
-
- /* Usage happens after buffer have been swapped. */
- effects->volume_scatter = txl->volume_scatter_history;
- effects->volume_transmit = txl->volume_transmit_history;
}
else {
DRW_TEXTURE_FREE_SAFE(txl->volume_prop_scattering);
@@ -588,10 +584,10 @@ void EEVEE_volumes_draw_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
GPU_FRAMEBUFFER_FREE_SAFE(fbl->volumetric_fb);
GPU_FRAMEBUFFER_FREE_SAFE(fbl->volumetric_scat_fb);
GPU_FRAMEBUFFER_FREE_SAFE(fbl->volumetric_integ_fb);
-
- effects->volume_scatter = e_data.dummy_scatter;
- effects->volume_transmit = e_data.dummy_transmit;
}
+
+ effects->volume_scatter = e_data.dummy_scatter;
+ effects->volume_transmit = e_data.dummy_transmit;
}
void EEVEE_volumes_compute(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata)
@@ -618,6 +614,9 @@ void EEVEE_volumes_compute(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *veda
SWAP(GPUTexture *, txl->volume_scatter, txl->volume_scatter_history);
SWAP(GPUTexture *, txl->volume_transmit, txl->volume_transmit_history);
+ effects->volume_scatter = txl->volume_scatter;
+ effects->volume_transmit = txl->volume_transmit;
+
/* Restore */
GPU_framebuffer_bind(fbl->main_fb);