forked from axiomgraph/enve-plugins
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/main' into dev
- Loading branch information
Showing
92 changed files
with
6,127 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/BookFlip.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph | ||
Opengl version 3.3*/ | ||
#version 330 core | ||
|
||
layout(location = 0) out vec4 fragColor; | ||
layout(pixel_center_integer) in vec4 gl_FragCoord; | ||
uniform sampler2D texture; | ||
in vec2 texCoord; | ||
|
||
uniform float progress; | ||
|
||
vec2 skewRight(vec2 p) { | ||
float skewX = (p.x - progress)/(0.5 - progress) * 0.5; | ||
float skewY = (p.y - 0.5)/(0.5 + progress * (p.x - 0.5) / 0.5)* 0.5 + 0.5; | ||
return vec2(skewX, skewY); | ||
} | ||
|
||
vec2 skewLeft(vec2 p) { | ||
float skewX = (p.x - 0.5)/(progress - 0.5) * 0.5 + 0.5; | ||
float skewY = (p.y - 0.5) / (0.5 + (1.0 - progress ) * (0.5 - p.x) / 0.5) * 0.5 + 0.5; | ||
return vec2(skewX, skewY); | ||
} | ||
|
||
vec4 addShade() { | ||
float shadeVal = max(0.7, abs(progress - 0.5) * 2.0); | ||
return vec4(vec3(shadeVal ), 1.0); | ||
} | ||
|
||
vec4 transition (vec2 p) { | ||
float pr = step(1.0 - progress, p.x); | ||
|
||
if (p.x < 0.5) { | ||
return mix(texture2D(texture,p), vec4(1.0)* addShade(), pr); | ||
} else { | ||
return mix(texture2D(texture,skewRight(p)) * addShade(), vec4(0.0), pr); | ||
} | ||
} | ||
|
||
void main(void) | ||
{ | ||
|
||
fragColor = transition(texCoord); | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<!-- Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/BookFlip.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph--> | ||
<ShaderEffect name="Book Flip" menuPath="Transitions"> | ||
<Properties> | ||
<Property name="progress" nameUI="Progress" type="float" min="0.0" max="1.0" ini="0.01" step ="0.01" glValue="true"/> | ||
</Properties> | ||
</ShaderEffect> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
/* Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/DoomScreenTransition.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph | ||
Opengl version 3.3*/ | ||
#version 330 core | ||
precision mediump float; | ||
|
||
layout(location = 0) out vec4 fragColor; | ||
layout(pixel_center_integer) in vec4 gl_FragCoord; | ||
uniform sampler2D texture; | ||
uniform vec2 resolution; | ||
in vec2 texCoord; | ||
|
||
uniform float progress;// = 0.01; | ||
// Transition parameters -------- | ||
|
||
// Number of total bars/columns | ||
uniform int bars; // = 30; // | ||
|
||
// Multiplier for speed ratio. 0 = no variation when going down, higher = some elements go much faster | ||
uniform float amplitude ; // = 2.0; // | ||
|
||
// Further variations in speed. 0 = no noise, 1 = super noisy (ignore frequency) | ||
uniform float noise ; // = 0.1; // | ||
|
||
// Speed variation horizontally. the bigger the value, the shorter the waves | ||
uniform float frequency; // = 0.5; // | ||
|
||
// How much the bars seem to "run" from the middle of the screen first (sticking to the sides). 0 = no drip, 1 = curved drip | ||
uniform float dripScale; // = 0.5; // | ||
|
||
|
||
// The code proper -------- | ||
|
||
float rand(int num) { | ||
return fract(mod(float(num) * 67123.313, 12.0) * sin(float(num) * 10.3) * cos(float(num))); | ||
} | ||
|
||
float wave(int num) { | ||
float fn = float(num) * frequency * 0.1 * float(bars); | ||
return cos(fn * 0.5) * cos(fn * 0.13) * sin((fn+10.0) * 0.3) / 2.0 + 0.5; | ||
} | ||
|
||
float drip(int num) { | ||
return sin(float(num) / float(bars - 1) * 3.141592) * dripScale; | ||
} | ||
|
||
float pos(int num) { | ||
return (noise == 0.0 ? wave(num) : mix(wave(num), rand(num), noise)) + (dripScale == 0.0 ? 0.0 : drip(num)); | ||
} | ||
|
||
vec4 transition(vec2 uv) { | ||
int bar = int(uv.x * (float(bars))); | ||
float scale = 1.0 + pos(bar) * amplitude; | ||
float phase = progress * scale; | ||
float posY = uv.y / vec2(1.0).y; | ||
vec2 p; | ||
vec4 c; | ||
if (phase + posY < 1.0) { | ||
p = vec2(uv.x, uv.y + mix(0.0, vec2(1.0).y, phase)) / vec2(1.0).xy; | ||
c = texture2D(texture,p); | ||
} else { | ||
p = uv.xy / vec2(1.0).xy; | ||
c = vec4(0.0); // for future use | ||
} | ||
|
||
// Finally, apply the color | ||
return c; | ||
} | ||
|
||
void main(void) | ||
{ | ||
// Normalized pixel coordinates (from 0 to 1) | ||
vec2 uv = gl_FragCoord.xy/resolution.xy; | ||
|
||
|
||
// Output to screen | ||
fragColor = transition(uv); | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<!-- Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/DoomScreenTransition.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph--> | ||
<ShaderEffect name="Doom Screen" menuPath="Transitions"> | ||
<Properties> | ||
<Property name="progress" nameUI="Progress" type="float" min="0.0" max="1.0" ini="0.01" step ="0.01" glValue="true"/> | ||
<Property name="bars" nameUI="Bars" type="int" min="0" max="100" ini="30" step ="1" glValue="true"/> | ||
<Property name="amplitude" nameUI="Amplitude" type="float" min="0.0" max="100.0" ini="2.0" step ="0.1" glValue="true"/> | ||
<Property name="noise" nameUI="Noise" type="float" min="0.0" max="1.0" ini="0.1" step ="0.01" glValue="true"/> | ||
<Property name="frequency" nameUI="Frequency" type="float" min="0.0" max="10.0" ini="0.5" step ="0.01" glValue="true"/> | ||
<Property name="dripScale" nameUI="Drip Scale" type="float" min="0.0" max="10.0" ini="0.5" step ="0.01" glValue="true"/> | ||
</Properties> | ||
<glValues> | ||
<glValue name="resolution" type="vec2" value="[_eRect[2], _eRect[3]]"/> | ||
</glValues> | ||
</ShaderEffect> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/* Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/HorizontalClose.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph | ||
Opengl version 3.3*/ | ||
#version 330 core | ||
layout(location = 0) out vec4 fragColor; | ||
layout(pixel_center_integer) in vec4 gl_FragCoord; | ||
uniform sampler2D texture; | ||
in vec2 texCoord; | ||
|
||
uniform float progress; | ||
uniform float feather; | ||
vec4 transition (vec2 uv) { | ||
|
||
float s = 2.0 - abs((uv.y - 0.5) / (progress - 1.0)) - 2.0 * progress; | ||
|
||
return mix( | ||
texture2D(texture,uv), | ||
vec4(0.0), | ||
smoothstep(feather, 0.0 , s) | ||
); | ||
} | ||
void main(void) | ||
{ | ||
fragColor = transition(texCoord); | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<!-- Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/HorizontalClose.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph--> | ||
<ShaderEffect name="Horizontal Close" menuPath="Transitions"> | ||
<Properties> | ||
<Property name="progress" nameUI="Progress" type="float" min="0.0" max="1.0" ini="0.1" step ="0.01" glValue="true"/> | ||
<Property name="feather" nameUI="Feather" type="float" min="0.0" max="2.0" ini="0.5" step ="0.01" glValue="true"/> | ||
</Properties> | ||
</ShaderEffect> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/LeftRight.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph | ||
Opengl version 3.3*/ | ||
#version 330 core | ||
layout(location = 0) out vec4 fragColor; | ||
layout(pixel_center_integer) in vec4 gl_FragCoord; | ||
uniform sampler2D texture; | ||
in vec2 texCoord; | ||
|
||
uniform float progress; | ||
|
||
const vec4 black = vec4(0.0, 0.0, 0.0, 1.0); | ||
const vec2 boundMin = vec2(0.0, 0.0); | ||
const vec2 boundMax = vec2(1.0, 1.0); | ||
|
||
bool inBounds (vec2 p) { | ||
return all(lessThan(boundMin, p)) && all(lessThan(p, boundMax)); | ||
} | ||
|
||
vec4 transition (vec2 uv) { | ||
vec2 spfr,spto = vec2(-1.); | ||
|
||
float size = mix(1.0, 3.0, progress*0.2); | ||
spto = (uv + vec2(-0.5,-0.5))*vec2(size,size)+vec2(0.5,0.5); | ||
spfr = (uv - vec2(1.-progress, 0.0)); | ||
if(inBounds(spfr)){ | ||
return vec4(0.0); | ||
}else if(inBounds(spto)){ | ||
return texture2D(texture,spto) * (1.0 - progress); | ||
} else{ | ||
return black; | ||
} | ||
} | ||
void main(void) | ||
{ | ||
fragColor = transition(texCoord); | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<!-- Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/LeftRight.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph--> | ||
<ShaderEffect name="Left Right" menuPath="Transitions"> | ||
<Properties> | ||
<Property name="progress" nameUI="Progress" type="float" min="0.0" max="1.0" ini="0.1" step ="0.01" glValue="true"/> | ||
</Properties> | ||
</ShaderEffect> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/* Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/PolkaDotsCurtain.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph | ||
Opengl version 3.3*/ | ||
#version 330 core | ||
|
||
layout(location = 0) out vec4 fragColor; | ||
layout(pixel_center_integer) in vec4 gl_FragCoord; | ||
uniform sampler2D texture; | ||
in vec2 texCoord; | ||
uniform vec2 resolution; | ||
|
||
const float SQRT_2 = 1.414213562373; | ||
|
||
uniform float progress; | ||
uniform float dots; | ||
uniform vec2 center; | ||
|
||
vec4 transition(vec2 uv) { | ||
float ar = resolution.x/resolution.y; | ||
uv.x*=ar; | ||
bool nextImage = distance(fract(uv * dots), vec2(0.5, 0.5)) < ( progress / distance(uv, center)); | ||
uv.x/=ar; | ||
// return nextImage ? vec4(0.0) : texture2D(texture,uv); | ||
return nextImage ? texture2D(texture,uv) : vec4(0.0); | ||
} | ||
|
||
void main(void) | ||
{ | ||
fragColor = transition(texCoord); | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<!-- Adapted from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/PolkaDotsCurtain.glsl | ||
License: MIT | ||
Rebuilt for enve/friction by axiomgraph--> | ||
<ShaderEffect name="Polka Dots Curtain" menuPath="Transitions"> | ||
<Properties> | ||
<Property name="progress" nameUI="Progress" type="float" min="0.0" max="2.0" ini="0.01" step ="0.01" glValue="true"/> | ||
<Property name="dots" nameUI="Dots" type="float" min="0.0" max="1000.0" ini="20.0" step ="0.1" glValue="true"/> | ||
<Property name="center" nameUI="Center" type="vec2" min="0.0" max="100.0" ini="0.0" step ="0.1" glValue="true"/> | ||
</Properties> | ||
<glValues> | ||
<glValue name="resolution" type="vec2" value="[_eRect[2], _eRect[3]]"/> | ||
</glValues> | ||
</ShaderEffect> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
/* Adapted from https://www.shadertoy.com/view/XtBXDt | ||
Rebuilt for enve/friction by axiomgraph | ||
Opengl version 3.3*/ | ||
|
||
#version 330 core | ||
#define PI 3.14159265 | ||
|
||
|
||
layout(location = 0) out vec4 fragColor; | ||
layout(pixel_center_integer) in vec4 gl_FragCoord; | ||
|
||
uniform sampler2D texture; | ||
|
||
uniform vec2 resolution; | ||
in vec2 texCoord; | ||
|
||
uniform float time; | ||
|
||
vec3 tex2D( sampler2D texture, vec2 _p ){ | ||
vec3 col = texture2D( texture, _p ).xyz; | ||
if ( 0.5 < abs( _p.x - 0.5 ) ) { | ||
col = vec3( 0.1 ); | ||
} | ||
return col; | ||
} | ||
|
||
float hash( vec2 _v ){ | ||
return fract( sin( dot( _v, vec2( 89.44, 19.36 ) ) ) * 22189.22 ); | ||
} | ||
|
||
float iHash( vec2 _v, vec2 _r ){ | ||
float h00 = hash( vec2( floor( _v * _r + vec2( 0.0, 0.0 ) ) / _r ) ); | ||
float h10 = hash( vec2( floor( _v * _r + vec2( 1.0, 0.0 ) ) / _r ) ); | ||
float h01 = hash( vec2( floor( _v * _r + vec2( 0.0, 1.0 ) ) / _r ) ); | ||
float h11 = hash( vec2( floor( _v * _r + vec2( 1.0, 1.0 ) ) / _r ) ); | ||
vec2 ip = vec2( smoothstep( vec2( 0.0, 0.0 ), vec2( 1.0, 1.0 ), mod( _v*_r, 1. ) ) ); | ||
return ( h00 * ( 1. - ip.x ) + h10 * ip.x ) * ( 1. - ip.y ) + ( h01 * ( 1. - ip.x ) + h11 * ip.x ) * ip.y; | ||
} | ||
|
||
float noise( vec2 _v ){ | ||
float sum = 0.; | ||
for( int i=1; i<9; i++ ) | ||
{ | ||
sum += iHash( _v + vec2( i ), vec2( 2. * pow( 2., float( i ) ) ) ) / pow( 2., float( i ) ); | ||
} | ||
return sum; | ||
} | ||
|
||
void main(void){ | ||
vec2 uv = gl_FragCoord.xy / resolution; | ||
vec2 uvn = uv; | ||
vec3 col = vec3( 0.0 ); | ||
|
||
// tape wave | ||
uvn.x += ( noise( vec2( uvn.y, time ) ) - 0.5 )* 0.005; | ||
uvn.x += ( noise( vec2( uvn.y * 100.0, time * 10.0 ) ) - 0.5 ) * 0.01; | ||
|
||
// tape crease | ||
float tcPhase = clamp( ( sin( uvn.y * 8.0 - time * PI * 1.2 ) - 0.92 ) * noise( vec2( time ) ), 0.0, 0.01 ) * 10.0; | ||
float tcNoise = max( noise( vec2( uvn.y * 100.0, time * 10.0 ) ) - 0.5, 0.0 ); | ||
uvn.x = uvn.x - tcNoise * tcPhase; | ||
|
||
// switching noise | ||
float snPhase = smoothstep( 0.03, 0.0, uvn.y ); | ||
uvn.y += snPhase * 0.3; | ||
uvn.x += snPhase * ( ( noise( vec2( uv.y * 100.0, time * 10.0 ) ) - 0.5 ) * 0.2 ); | ||
|
||
col = tex2D( texture, uvn ); | ||
col *= 1.0 - tcPhase; | ||
col = mix( | ||
col, | ||
col.yzx, | ||
snPhase | ||
); | ||
|
||
// bloom | ||
for( float x = -4.0; x < 2.5; x += 1.0 ){ | ||
col.xyz += vec3( | ||
tex2D( texture, uvn + vec2( x - 0.0, 0.0 ) * 7E-3 ).x, | ||
tex2D( texture, uvn + vec2( x - 2.0, 0.0 ) * 7E-3 ).y, | ||
tex2D( texture, uvn + vec2( x - 4.0, 0.0 ) * 7E-3 ).z | ||
) * 0.1; | ||
} | ||
col *= 0.6; | ||
|
||
// ac beat | ||
col *= 1.0 + clamp( noise( vec2( 0.0, uv.y + time * 0.2 ) ) * 0.6 - 0.25, 0.0, 0.1 ); | ||
|
||
fragColor = vec4( col, 1.0 ); | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<!-- Adapted from https://www.shadertoy.com/view/XtBXDt | ||
Rebuilt for enve/friction by axiomgraph--> | ||
<ShaderEffect name="VHS Effect" menuPath="Distort"> | ||
<Properties> | ||
<Property name="time" nameUI="Time" type="float" min="0.0" max="10000.0" ini="12.0" step ="1.0" glValue="true"/> | ||
</Properties> | ||
<glValues> | ||
<glValue name="resolution" type="vec2" value="[_eRect[2], _eRect[3]]"/> | ||
</glValues> | ||
</ShaderEffect> |
Oops, something went wrong.