cemu_graphic_packs/Quality/SuperMario3DWorld_1800p/9fad3b3505a6d831_0000000000000079_ps.txt
Milan bcf5c76ecb Super Mario 3D World & Captain Toad Treasure Tracker upscaling fixed with general blur fix
Fixed Blur of various levels, mainly made for Captain Toad Treasure Tracker which had various issues like having weird issues with light dots having a grid of dots around it.
2017-10-03 21:13:08 +02:00

27 lines
1.1 KiB
Plaintext

#version 420
#extension GL_ARB_texture_gather : enable
// shader 9fad3b3505a6d831
// Used for: Vertical Blur (Captain Toad Treasure Tracker)
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 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;
}