2015-06-30, 13:35
Blurring thumbnail via glsl (shadertoy)
Result half screen changing - (step( uv.x, 0.5)
Tweaking float lod = (3.0 + 4.0) values gives more or less blurring. Just needs a skin implementation and using the Kodi shadertoy by topfs2
Pixelating thumb: Modified version of https://www.shadertoy.com/view/llfGR7
Pixel sizes modify keeping a square ratio
const float pixel_w = 25.;
const float pixel_h = 25.;
For full picture modify float vx_offset = 0.5; to float vx_offset = 1.;
Code:
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
float lod = (3.0 + 4.0)*step( uv.x, 1.0 );
vec3 col = texture2D( iChannel0, vec2(uv.x,1.0-uv.y), lod ).xyz;
fragColor = vec4( col, 1.0 );
}
Result half screen changing - (step( uv.x, 0.5)
Tweaking float lod = (3.0 + 4.0) values gives more or less blurring. Just needs a skin implementation and using the Kodi shadertoy by topfs2
Pixelating thumb: Modified version of https://www.shadertoy.com/view/llfGR7
Code:
const float pixel_w = 25.;
const float pixel_h = 25.;
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
float vx_offset = 0.5;
vec2 uv = fragCoord.xy / iResolution.xy;
vec4 c = texture2D(iChannel0, uv);
vec3 tc = vec3(1., 0., 0.);
vec2 coord = vec2(0.,0.);
if(uv.x < (vx_offset-0.0))
{
float dx = pixel_w*(1./iResolution.x);
float dy = pixel_h*(1./iResolution.y);
coord = vec2(dx*floor(uv.x/dx),
dy*floor(uv.y/dy));
}
else if (uv.x>=(vx_offset*0.0))
{
coord = uv;
}
tc = texture2D(iChannel0, coord).rgb;
fragColor = vec4(tc, 1.0);
}
Pixel sizes modify keeping a square ratio
const float pixel_w = 25.;
const float pixel_h = 25.;
For full picture modify float vx_offset = 0.5; to float vx_offset = 1.;