diff --git a/Templates/BaseGame/game/core/postFX/scripts/HDR/HDR_Bloom/downSampleP.glsl b/Templates/BaseGame/game/core/postFX/scripts/HDR/HDR_Bloom/downSampleP.glsl index 64eeac49e..2f73d917f 100644 --- a/Templates/BaseGame/game/core/postFX/scripts/HDR/HDR_Bloom/downSampleP.glsl +++ b/Templates/BaseGame/game/core/postFX/scripts/HDR/HDR_Bloom/downSampleP.glsl @@ -28,59 +28,66 @@ #line 28 uniform sampler2D inputTex; uniform vec2 oneOverTargetSize; -uniform int mipId; +uniform int mipCount0; out vec4 OUT_col; void main() { vec4 downSample = vec4(0, 0, 0, 0); - float x = oneOverTargetSize.x; - float y = oneOverTargetSize.y; - - vec3 a = texture(inputTex, vec2(IN_uv0.x - 2 * x, IN_uv0.y + 2 * y)).rgb; - vec3 b = texture(inputTex, vec2(IN_uv0.x, IN_uv0.y + 2 * y)).rgb; - vec3 c = texture(inputTex, vec2(IN_uv0.x + 2 * x, IN_uv0.y + 2 * y)).rgb; + vec4 finalOut = float4(0, 0, 0, 0); - vec3 d = texture(inputTex, vec2(IN_uv0.x - 2 * x, IN_uv0.y)).rgb; - vec3 e = texture(inputTex, vec2(IN_uv0.x, IN_uv0.y)).rgb; - vec3 f = texture(inputTex, vec2(IN_uv0.x + 2 * x, IN_uv0.y)).rgb; - - vec3 g = texture(inputTex, vec2(IN_uv0.x - 2 * x, IN_uv0.y - 2 * y)).rgb; - vec3 h = texture(inputTex, vec2(IN_uv0.x, IN_uv0.y - 2 * y)).rgb; - vec3 i = texture(inputTex, vec2(IN_uv0.x + 2 * x, IN_uv0.y - 2 * y)).rgb; - - vec3 j = texture(inputTex, vec2(IN_uv0.x - x, IN_uv0.y + y)).rgb; - vec3 k = texture(inputTex, vec2(IN_uv0.x + x, IN_uv0.y + y)).rgb; - vec3 l = texture(inputTex, vec2(IN_uv0.x - x, IN_uv0.y - y)).rgb; - vec3 m = texture(inputTex, vec2(IN_uv0.x + x, IN_uv0.y - y)).rgb; - - vec3 group[5]; - switch (mipId) + for (int mipId = 0; mipId