diff --git a/shaders/wgsl/bloomCombine.wgsl b/shaders/wgsl/bloomCombine.wgsl index 8c553d4..f83347d 100644 --- a/shaders/wgsl/bloomCombine.wgsl +++ b/shaders/wgsl/bloomCombine.wgsl @@ -24,7 +24,9 @@ struct ComputeInput { var uv = (vec2(coord) + 0.5) / vec2(outputSize); var sum = vec4(0.0); for (var i = 0.0; i < config.pyramidHeight; i = i + 1.0) { - sum = sum + (1.0 - i / config.pyramidHeight) * textureSampleLevel( tex, linearSampler, uv, i + 1.0 ); + var weight = (1.0 - i / config.pyramidHeight); + weight = pow(weight + 0.5, 1.0 / 3.0); + sum = sum + textureSampleLevel( tex, linearSampler, uv, i + 1.0 ) * weight; } textureStore(outputTex, coord, sum * config.bloomStrength);