Files
CodenameEngine/assets/shaders/engine/editorBlurFast.frag
T
2024-10-27 23:45:53 +01:00

41 lines
1.1 KiB
GLSL

#pragma header
// Used for editors (faster)
//#define iResolution _camSize
#define getTexture textureCam
#define iResolution openfl_TextureSize
//#define getTexture flixel_texture2D
float uBlur = 0.015;
float uBrightness = 0.6;
vec4 getColor(vec2 pos) {
vec2 ps = (pos);
ps = clamp(ps, vec2(0.0), vec2(1.0));//1.0 - (1.0 / iResolution.xy));
return flixel_texture2D(bitmap, (ps));
}
uniform sampler2D noiseTexture;
uniform vec2 noiseTextureSize;
vec2 random(vec2 p) {
p *= openfl_TextureSize;
return texture2D(noiseTexture, p/noiseTextureSize).rg;
}
void main() {
vec2 camPos = (openfl_TextureCoordv);
//vec2 camPos = openfl_TextureCoordv;
if (camPos.x < 0.0 || camPos.x > 1.0 || camPos.y < 0.0 || camPos.y > 1.0)
return;
vec2 blur = vec2(uBlur) * vec2(1.0, iResolution.x / iResolution.y);
vec4 a = getColor(camPos+(random(camPos)*blur - blur / 2.0)) * uBrightness;
a += getColor(camPos+(random(camPos+0.1)*blur - blur / 2.0)) * uBrightness;
//a += getColor(camPos+(random(camPos+0.2)*blur - blur / 2.0)) * uBrightness;
//a += getColor(camPos+(random(camPos+0.3)*blur - blur / 2.0)) * uBrightness;
gl_FragColor = a / 2.0;
}