cemu_graphic_packs/Quality/MK8_1080p/4727ccdea05045d0_0000000000000079_ps.txt
Milan 02c824f327 Pulled recent changes, made mergeable with Slashiee's master, fixed Cemu 1.10.0 support
Cemu 1.10.0 made some changes which are causing the blur radius to be less on Cemu 1.10.0 due to a blur layer which changed size (for Mario kart 8). Can't do much about it. I used Cemu 1.10.0 as a guideline, but backwards compatibility is still here.
2017-10-03 20:54:50 +02:00

28 lines
1.1 KiB
Plaintext

#version 420
#extension GL_ARB_texture_gather : enable
// shader 4727ccdea05045d0
// Used for: Horizontal Blur
const float blurFactor = 1.0; //Higher is less blur
// Implementation of http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
uniform float weight[] = float[](0.18571429, 0.28870130, 0.10363636, 0.01480519);
uniform float offset[] = float[](0.00000000, 1.42105263, 3.31578947, 5.21052632);
ivec2 inputRes = textureSize(textureUnitPS0, 0);
vec2 outputRes = vec2(float(inputRes.x), float(inputRes.y));
vec2 scale = outputRes * blurFactor;
void main()
{
vec2 R0f = vec2(passParameterSem0.w, passParameterSem0.x);
vec4 R1f = texture(textureUnitPS0, R0f) * weight[0];
for (int i = 1; i<4; i++) {
R1f += texture(textureUnitPS0, R0f + (vec2(offset[i], 0.0) / scale)) * weight[i];
R1f += texture(textureUnitPS0, R0f - (vec2(offset[i], 0.0) / scale)) * weight[i];
}
passPixelColor0 = R1f;
}