|
@@ -26,7 +26,7 @@ layout(set = 0, binding = 2, std140) readonly buffer ss0_
|
|
|
Vec4 u_averageLuminancePad3;
|
|
Vec4 u_averageLuminancePad3;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-layout(set = 0, binding = 3) writeonly uniform image2D out_img;
|
|
|
|
|
|
|
+layout(set = 0, binding = 3) writeonly uniform image2D u_outImg;
|
|
|
|
|
|
|
|
void main()
|
|
void main()
|
|
|
{
|
|
{
|
|
@@ -41,15 +41,15 @@ void main()
|
|
|
const Vec2 uv = (Vec2(gl_GlobalInvocationID.xy) + 0.5) / Vec2(FB_SIZE);
|
|
const Vec2 uv = (Vec2(gl_GlobalInvocationID.xy) + 0.5) / Vec2(FB_SIZE);
|
|
|
|
|
|
|
|
Vec3 color = textureLod(u_tex, u_linearAnyClampSampler, uv, 0.0).rgb;
|
|
Vec3 color = textureLod(u_tex, u_linearAnyClampSampler, uv, 0.0).rgb;
|
|
|
- color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, ivec2(+1, +1)).rgb;
|
|
|
|
|
- color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, ivec2(-1, -1)).rgb;
|
|
|
|
|
- color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, ivec2(-1, +1)).rgb;
|
|
|
|
|
- color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, ivec2(+1, -1)).rgb;
|
|
|
|
|
|
|
+ color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, IVec2(+1, +1)).rgb;
|
|
|
|
|
+ color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, IVec2(-1, -1)).rgb;
|
|
|
|
|
+ color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, IVec2(-1, +1)).rgb;
|
|
|
|
|
+ color += textureLodOffset(sampler2D(u_tex, u_linearAnyClampSampler), uv, 0.0, IVec2(+1, -1)).rgb;
|
|
|
|
|
|
|
|
color *= (1.0 / 5.0);
|
|
color *= (1.0 / 5.0);
|
|
|
|
|
|
|
|
color = tonemap(color, u_averageLuminancePad3.x, u_thresholdScalePad2.x) * u_thresholdScalePad2.y;
|
|
color = tonemap(color, u_averageLuminancePad3.x, u_thresholdScalePad2.x) * u_thresholdScalePad2.y;
|
|
|
|
|
|
|
|
- imageStore(out_img, IVec2(gl_GlobalInvocationID.xy), Vec4(color, 0.0));
|
|
|
|
|
|
|
+ imageStore(u_outImg, IVec2(gl_GlobalInvocationID.xy), Vec4(color, 0.0));
|
|
|
}
|
|
}
|
|
|
#pragma anki end
|
|
#pragma anki end
|