mirror of
https://github.com/Rezmason/matrix.git
synced 2026-04-18 14:19:30 -07:00
onclick ripple
This commit is contained in:
@@ -61,8 +61,8 @@ export default async (canvas, config) => {
|
|||||||
window.ripples = [0,0,0]
|
window.ripples = [0,0,0]
|
||||||
window.onclick = (e) => { // ripple init
|
window.onclick = (e) => { // ripple init
|
||||||
console.log(e)
|
console.log(e)
|
||||||
window.ripples = [Date.now(), e.clientX, e.clientY]
|
window.ripples = [Date.now(), (e.clientX/e.srcElement.clientWidth*2)-1, (e.clientY/e.srcElement.clientHeight*2)-1]
|
||||||
console.log(ripples)
|
// console.log(ripples)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ export default ({ regl, config }, inputs) => {
|
|||||||
tex: inputs.primary,
|
tex: inputs.primary,
|
||||||
bloomTex: inputs.bloom,
|
bloomTex: inputs.bloom,
|
||||||
intensity: ()=>{
|
intensity: ()=>{
|
||||||
let inten = 8 - (Date.now() - window.ripples[0])/500
|
let inten = 2 - (Date.now() - window.ripples[0])/2000
|
||||||
if (inten < 0) inten = 0
|
if (inten < 0) inten = 0
|
||||||
return inten / 50
|
return inten / 10
|
||||||
},
|
},
|
||||||
height: regl.context("viewportWidth"),
|
height: regl.context("viewportWidth"),
|
||||||
width: regl.context("viewportHeight"),
|
width: regl.context("viewportHeight"),
|
||||||
|
|||||||
@@ -9,40 +9,13 @@ uniform sampler2D tex;
|
|||||||
uniform sampler2D bloomTex;
|
uniform sampler2D bloomTex;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
|
|
||||||
// gl_FragColor = texture2D(tex, vUV);
|
|
||||||
// vec4 color = texture2D(bloomTex, vUV) + texture2D(tex, vUV);
|
|
||||||
|
|
||||||
// float intensity = 0.1;
|
|
||||||
|
|
||||||
|
|
||||||
vec2 iResolution = vec2(height,width);
|
vec2 iResolution = vec2(height,width);
|
||||||
//vec2 cp = -1. + 2. * gl_FragCoord.xy / iResolution.xy;
|
|
||||||
//cp = -1. + 2. * vec2(centerW, centerH) / iResolution.xy;
|
|
||||||
vec2 cp = vec2(
|
vec2 cp = vec2(
|
||||||
-1. + 2.* gl_FragCoord.x /iResolution.x + -1.+ 2.*(iResolution.x-centerW)/iResolution.x,
|
-1. + 2.* gl_FragCoord.x /iResolution.x - centerW,
|
||||||
-1. + 2.* gl_FragCoord.y /iResolution.y//gl_FragCoord.y //-1. + 2.*(gl_FragCoord.y)/iResolution.y + -1.+ 2.*(iResolution.y-centerH)/iResolution.y
|
-1. + 2.* gl_FragCoord.y /iResolution.y + centerH
|
||||||
);
|
);
|
||||||
// cp.y = 1. - cp.y - 2. * centerH/iResolution.y;
|
|
||||||
|
|
||||||
|
|
||||||
float cl = length(cp);
|
float cl = length(cp);
|
||||||
|
|
||||||
vec2 uv = gl_FragCoord.xy / iResolution.xy + (cp / cl / 4. ) * sin(cl*10. - time * 12.) * intensity*.5;
|
vec2 uv = gl_FragCoord.xy / iResolution.xy + (cp / cl / 4. ) * sin(cl*10. - time * 12.) * intensity*.5;
|
||||||
// vec4 col=smoothstep(0.1,.91,texture2D(color).xyz);
|
|
||||||
|
|
||||||
vec3 col = texture2D(tex, uv).xyz + texture2D(bloomTex, uv).xyz;;
|
vec3 col = texture2D(tex, uv).xyz + texture2D(bloomTex, uv).xyz;;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
gl_FragColor = vec4(col,1.0);
|
gl_FragColor = vec4(col,1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// void main( out vec4 fragColor, in vec2 fragCoord )
|
|
||||||
// {
|
|
||||||
// vec2 cp = -1.0 + 2.0 * fragCoord / iResolution.xy;
|
|
||||||
// float cl = length(cp);
|
|
||||||
// vec2 uv = fragCoord / iResolution.xy + (cp / cl) * cos(cl * 12.0 - iTime * 4.0) * 0.02;
|
|
||||||
// vec3 col = texture(iChannel0, uv).xyz;
|
|
||||||
// fragColor = vec4(col, 1.0);
|
|
||||||
// }
|
|
||||||
Reference in New Issue
Block a user