From 9f85107fef7f20689cec83671b88b4c71b5ef8fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 4 Oct 2021 13:10:20 +0200 Subject: EEVEE: Fix smooth transition when using render borders The first sample buffer is fullscreen and needs to have its uvs corrected to match the render border viewport. --- .../blender/draw/engines/eevee/shaders/eevee_film_resolve_frag.glsl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/blender/draw/engines/eevee/shaders') diff --git a/source/blender/draw/engines/eevee/shaders/eevee_film_resolve_frag.glsl b/source/blender/draw/engines/eevee/shaders/eevee_film_resolve_frag.glsl index 8b77649481e..bdf36d52e96 100644 --- a/source/blender/draw/engines/eevee/shaders/eevee_film_resolve_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/eevee_film_resolve_frag.glsl @@ -23,6 +23,9 @@ void main(void) out_color = film_data_decode(film, color, weight); - vec4 first_sample = textureLod(first_sample_tx, uv, 0.0); + /* First sample is stored in a fullscreen buffer. */ + vec2 uv_first_sample = ((uv * film.extent) + film.offset) / + vec2(textureSize(first_sample_tx, 0).xy); + vec4 first_sample = textureLod(first_sample_tx, uv_first_sample, 0.0); out_color = mix(first_sample, out_color, film.opacity); } -- cgit v1.2.3