mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-04-21 18:30:51 +00:00
Blur changes to avoid darkening the edges
This commit is contained in:
parent
eb7e3faf06
commit
dae78e2a2c
1 changed files with 15 additions and 6 deletions
|
@ -4,20 +4,29 @@ layout(set = 0, binding = 0) uniform sampler2D tex;
|
|||
layout(location = 0) in vec3 worldpos;
|
||||
layout(location = 0) out vec4 fragcolor;
|
||||
|
||||
vec4 centerFragColor;
|
||||
|
||||
vec4 clampedSample(vec4 f)
|
||||
{
|
||||
return f != vec4(0, 0, 0, 0) ? f : centerFragColor;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
ivec2 size = textureSize(tex, 0);
|
||||
vec2 texCoord = gl_FragCoord.xy / vec2(size);
|
||||
|
||||
centerFragColor = textureOffset(tex, texCoord, ivec2(0, 0));
|
||||
|
||||
#if defined(BLUR_HORIZONTAL)
|
||||
fragcolor =
|
||||
textureOffset(tex, texCoord, ivec2( 0, 0)) * 0.5 +
|
||||
textureOffset(tex, texCoord, ivec2( 1, 0)) * 0.25 +
|
||||
textureOffset(tex, texCoord, ivec2(-1, 0)) * 0.25;
|
||||
centerFragColor * 0.5 +
|
||||
clampedSample(textureOffset(tex, texCoord, ivec2( 1, 0))) * 0.25 +
|
||||
clampedSample(textureOffset(tex, texCoord, ivec2(-1, 0))) * 0.25;
|
||||
#else
|
||||
fragcolor =
|
||||
textureOffset(tex, texCoord, ivec2(0, 0)) * 0.5 +
|
||||
textureOffset(tex, texCoord, ivec2(0, 1)) * 0.25 +
|
||||
textureOffset(tex, texCoord, ivec2(0,-1)) * 0.25;
|
||||
centerFragColor * 0.5 +
|
||||
clampedSample(textureOffset(tex, texCoord, ivec2(0, 1))) * 0.25 +
|
||||
clampedSample(textureOffset(tex, texCoord, ivec2(0,-1))) * 0.25;
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue