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>2021-10-04 14:10:20 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-10-08 18:58:42 +0300
commit9f85107fef7f20689cec83671b88b4c71b5ef8fd (patch)
tree13cdafa288b89219f31e49d66cd21a68ac33cbd7 /source/blender/draw/engines/eevee/shaders
parentbcd5bd6cd51146250341e78de2a34ff693cee154 (diff)
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.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders')
-rw-r--r--source/blender/draw/engines/eevee/shaders/eevee_film_resolve_frag.glsl5
1 files changed, 4 insertions, 1 deletions
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);
}