[Bf-blender-cvs] [5ef2be5f593] blender2.8: Eevee: DoF: Fix most color artifacts in render.

Clément Foucault noreply at git.blender.org
Thu Jan 11 16:51:05 CET 2018


Commit: 5ef2be5f5939427345e27696ce83e89e9d92aa1f
Author: Clément Foucault
Date:   Thu Jan 11 15:14:26 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB5ef2be5f5939427345e27696ce83e89e9d92aa1f

Eevee: DoF: Fix most color artifacts in render.

Use full 32bit floats buffers. This increase render time but also color fidelity.

===================================================================

M	source/blender/draw/engines/eevee/eevee_depth_of_field.c

===================================================================

diff --git a/source/blender/draw/engines/eevee/eevee_depth_of_field.c b/source/blender/draw/engines/eevee/eevee_depth_of_field.c
index e700fb5058a..36f433d5ffb 100644
--- a/source/blender/draw/engines/eevee/eevee_depth_of_field.c
+++ b/source/blender/draw/engines/eevee/eevee_depth_of_field.c
@@ -125,12 +125,15 @@ int EEVEE_depth_of_field_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *v
 			        &fbl->dof_down_fb, &draw_engine_eevee_type,
 			        buffer_size[0], buffer_size[1], tex_down, 3);
 
-			DRWFboTexture tex_scatter_far = {&txl->dof_far_blur, DRW_TEX_RGBA_16, DRW_TEX_FILTER};
+			/* Go full 32bits for rendering and reduce the color artifacts. */
+			DRWTextureFormat fb_format = DRW_state_is_image_render() ? DRW_TEX_RGBA_32 : DRW_TEX_RGBA_16;
+
+			DRWFboTexture tex_scatter_far = {&txl->dof_far_blur, fb_format, DRW_TEX_FILTER};
 			DRW_framebuffer_init(
 			        &fbl->dof_scatter_far_fb, &draw_engine_eevee_type,
 			        buffer_size[0], buffer_size[1], &tex_scatter_far, 1);
 
-			DRWFboTexture tex_scatter_near = {&txl->dof_near_blur, DRW_TEX_RGBA_16, DRW_TEX_FILTER};
+			DRWFboTexture tex_scatter_near = {&txl->dof_near_blur, fb_format, DRW_TEX_FILTER};
 			DRW_framebuffer_init(
 			        &fbl->dof_scatter_near_fb, &draw_engine_eevee_type,
 			        buffer_size[0], buffer_size[1], &tex_scatter_near, 1);



More information about the Bf-blender-cvs mailing list