aboutsummaryrefslogtreecommitdiffstats
path: root/shaders/tonemapping.comp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2021-08-22 22:58:03 +0200
committerladevieq <ladevie.quentin@gmail.com>2021-08-22 22:58:03 +0200
commitd071fc5c947689eca7726803a420013c519acdd9 (patch)
tree4d96af4d9725bcdf2741cb73181d49a8fe5d5682 /shaders/tonemapping.comp
parent7db04c9ae57b087f1d122d67a75fa02563911796 (diff)
Refactored diffuse brdf & brdf computation done in tangent
Diffstat (limited to 'shaders/tonemapping.comp')
-rw-r--r--shaders/tonemapping.comp12
1 files changed, 6 insertions, 6 deletions
diff --git a/shaders/tonemapping.comp b/shaders/tonemapping.comp
index 94c7479..660327d 100644
--- a/shaders/tonemapping.comp
+++ b/shaders/tonemapping.comp
@@ -5,7 +5,7 @@ layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
layout(buffer_reference) readonly buffer scene_metadata {
uint[39] unused;
- uint downscale_factor;
+ int downscale_factor;
};
layout(set = 0, binding = 2, rgba32f) uniform image2D images[];
@@ -17,14 +17,14 @@ layout(push_constant) uniform constants {
} consts;
void main() {
- uint x = gl_GlobalInvocationID.x * consts.scene.downscale_factor;
- uint y = gl_GlobalInvocationID.y * consts.scene.downscale_factor;
+ ivec2 coords = ivec2(gl_GlobalInvocationID.xy) * consts.scene.downscale_factor;
+
+ vec3 color = imageLoad(images[nonuniformEXT(consts.accumulation_image_index)], coords).rgb;
+ vec3 out_color = sqrt(color);
- vec4 color = imageLoad(images[nonuniformEXT(consts.accumulation_image_index)], ivec2(x, y));
- vec4 out_color = sqrt(color);
for (uint i = 0; i < consts.scene.downscale_factor; i++) {
for (uint j = 0; j < consts.scene.downscale_factor; j++) {
- imageStore(images[nonuniformEXT(consts.output_image_index)], ivec2(x + i, y + j), out_color);
+ imageStore(images[nonuniformEXT(consts.output_image_index)], coords + ivec2(i, j), vec4(out_color, 1.0));
}
}
}