41 lines
1.1 KiB
GLSL
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;
|
|
} |