From 003bab42a58fd028a20f7c307ca991a1b5a6f48c Mon Sep 17 00:00:00 2001 From: mlefrancois Date: Wed, 23 Nov 2022 11:21:31 +0100 Subject: [PATCH] Make correct usage of `frame` for `imageStore` --- ray_tracing__advance/shaders/raytrace.rgen | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ray_tracing__advance/shaders/raytrace.rgen b/ray_tracing__advance/shaders/raytrace.rgen index 97a4d37..5c8d018 100644 --- a/ray_tracing__advance/shaders/raytrace.rgen +++ b/ray_tracing__advance/shaders/raytrace.rgen @@ -104,16 +104,16 @@ void main() } prd.hitValue = hitValues / NBSAMPLES; - // Do accumulation over time - if(pcRay.frame >= 0) - { - float a = 1.0f / float(pcRay.frame + 1); - vec3 old_color = imageLoad(image, ivec2(gl_LaunchIDEXT.xy)).xyz; - imageStore(image, ivec2(gl_LaunchIDEXT.xy), vec4(mix(old_color, prd.hitValue, a), 1.f)); - } - else + if(pcRay.frame == 0) { // First frame, replace the value in the buffer imageStore(image, ivec2(gl_LaunchIDEXT.xy), vec4(prd.hitValue, 1.f)); } + else + { + // Do accumulation over time + float a = 1.0f / float(pcRay.frame + 1); + vec3 old_color = imageLoad(image, ivec2(gl_LaunchIDEXT.xy)).xyz; + imageStore(image, ivec2(gl_LaunchIDEXT.xy), vec4(mix(old_color, prd.hitValue, a), 1.f)); + } }