cemu_graphic_packs/Enthusiast/CaptainToadTreasureTracker_4320p/0457fe3efc9a772f_0000000000000079_ps.txt
Crementif 908ab8acdc Splitted SM3DW and CTTT. Added partial DoF and Bloom fix.
Splitted Super Mario 3D World and Captain Toad: Treasure Tracker as both are getting their own shaders. Both are partial due to mips which are hard to scale and due to the rarity of some of the bloom shaders (only in the latest world. Might fix them later but they're awfully long and weird)
2017-10-09 21:26:07 +02:00

27 lines
1.1 KiB
Plaintext

#version 420
#extension GL_ARB_texture_gather : enable
// shader 0457fe3efc9a772f
// Used for: Horizontal Bloom
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.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;
}