Brush of Hero - Radical Ed



ShaderToy

Image

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 p = fragCoord / iResolution.x;
vec4 col = texture(iChannel0, p);
fragColor = vec4(col.rgb, 1.);
}

BufferA

float distanceToSegment( vec2 a, vec2 b, vec2 p )

{
vec2 pa = p - a, ba = b - a;
float h = clamp( dot(pa,ba)/dot(ba,ba), 0.0, 1.0 );
return length( pa - ba*h );
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )

{

vec2 p = fragCoord / iResolution.xy;
vec2 cen = 0.5*iResolution.xy/iResolution.x;
vec4 m = iMouse / iResolution.x;
float i;
vec3 col;

col=vec3(0.0,0.0,0.0);

vec3 rgb_previous = vec3(texture( iChannel0 , p ).xy,0.0);

if (iFrame!=0) {
col = rgb_previous*0.5;
};

float d = distanceToSegment( m.xy, abs(m.zw), p );
col += mix( col, vec3(1.0,0.0,0.0), 1.0-smoothstep(.003,0.035, d) );
fragColor = vec4( col, 1.0 );

}

Leave a Reply

Update cookies preferences