cemu_graphic_packs/Quality/Splatoon_1800p/45d85f1d25e7d0de_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

30 lines
1.1 KiB
Plaintext

#version 420
#extension GL_ARB_texture_gather : enable
// shader 45d85f1d25e7d0de
// Used for: Vertical 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.x, passParameterSem0.w);
vec4 R1f = texture(textureUnitPS0, R0f) * weight[0];
for (int i = 1; i<4; i++) {
R1f += texture(textureUnitPS0, R0f + (vec2(0.0, offset[i]) / scale)) * weight[i];
R1f += texture(textureUnitPS0, R0f - (vec2(0.0, offset[i]) / scale)) * weight[i];
}
passPixelColor0 = R1f;
}