You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.1 KiB
24 lines
1.1 KiB
1 week ago
|
uniform sampler2D source;
|
||
|
uniform sampler2D bloom;
|
||
|
uniform vec2 offsetFactor;
|
||
|
uniform float darkness;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
vec2 textureCoordinates = gl_TexCoord[0].xy;
|
||
|
vec4 color = vec4(0.0);
|
||
|
color += texture2D(source, textureCoordinates - 4.0 * offsetFactor) * 0.0162162162;
|
||
|
color += texture2D(source, textureCoordinates - 3.0 * offsetFactor) * 0.0540540541;
|
||
|
color += texture2D(source, textureCoordinates - 2.0 * offsetFactor) * 0.1216216216;
|
||
|
color += texture2D(source, textureCoordinates - offsetFactor) * 0.1945945946;
|
||
|
color += texture2D(source, textureCoordinates) * 0.2270270270;
|
||
|
color += texture2D(source, textureCoordinates + offsetFactor) * 0.1945945946;
|
||
|
color += texture2D(source, textureCoordinates + 2.0 * offsetFactor) * 0.1216216216;
|
||
|
color += texture2D(source, textureCoordinates + 3.0 * offsetFactor) * 0.0540540541;
|
||
|
color += texture2D(source, textureCoordinates + 4.0 * offsetFactor) * 0.0162162162;
|
||
|
|
||
|
vec4 sourceFragment = texture2D(source, gl_TexCoord[0].xy);
|
||
|
vec4 bloomFragment = texture2D(bloom, gl_TexCoord[0].xy);
|
||
|
gl_FragColor = color + sourceFragment - bloomFragment - darkness;
|
||
|
}
|