upload
This commit is contained in:
parent
bf0e1d9b79
commit
2de83d53d3
16
bin/data/shaders/ofxWarp/ControlPoint.frag
Normal file
16
bin/data/shaders/ofxWarp/ControlPoint.frag
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#version 150
|
||||||
|
|
||||||
|
in vec2 vTexCoord;
|
||||||
|
in vec4 vColor;
|
||||||
|
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vec2 uv = vTexCoord * 2.0 - 1.0;
|
||||||
|
float d = dot(uv, uv);
|
||||||
|
float rim = smoothstep(0.7, 0.8, d);
|
||||||
|
rim += smoothstep(0.3, 0.4, d) - smoothstep(0.5, 0.6, d);
|
||||||
|
rim += smoothstep(0.1, 0.0, d);
|
||||||
|
fragColor = mix(vec4( 0.0, 0.0, 0.0, 0.25), vColor, rim);
|
||||||
|
}
|
23
bin/data/shaders/ofxWarp/ControlPoint.vert
Normal file
23
bin/data/shaders/ofxWarp/ControlPoint.vert
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#version 150
|
||||||
|
|
||||||
|
// OF default uniforms and attributes
|
||||||
|
uniform mat4 modelViewProjectionMatrix;
|
||||||
|
uniform vec4 globalColor;
|
||||||
|
|
||||||
|
in vec4 position;
|
||||||
|
in vec2 texcoord;
|
||||||
|
in vec4 color;
|
||||||
|
|
||||||
|
// App uniforms and attributes
|
||||||
|
in vec4 iPositionScale;
|
||||||
|
in vec4 iColor;
|
||||||
|
|
||||||
|
out vec2 vTexCoord;
|
||||||
|
out vec4 vColor;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vTexCoord = texcoord;
|
||||||
|
vColor = globalColor * iColor;
|
||||||
|
gl_Position = modelViewProjectionMatrix * vec4(position.xy * iPositionScale.z + iPositionScale.xy, position.zw);
|
||||||
|
}
|
57
bin/data/shaders/ofxWarp/WarpBilinear.frag
Normal file
57
bin/data/shaders/ofxWarp/WarpBilinear.frag
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#version 150
|
||||||
|
|
||||||
|
uniform sampler2D uTexture;
|
||||||
|
uniform vec4 uExtends;
|
||||||
|
uniform vec3 uLuminance;
|
||||||
|
uniform vec3 uGamma;
|
||||||
|
uniform vec4 uEdges;
|
||||||
|
uniform vec4 uCorners;
|
||||||
|
uniform float uExponent;
|
||||||
|
uniform bool uEditing;
|
||||||
|
|
||||||
|
in vec2 vTexCoord;
|
||||||
|
in vec4 vColor;
|
||||||
|
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
float map(in float value, in float inMin, in float inMax, in float outMin, in float outMax)
|
||||||
|
{
|
||||||
|
return outMin + (outMax - outMin) * (value - inMin) / (inMax - inMin);
|
||||||
|
}
|
||||||
|
|
||||||
|
float grid(in vec2 uv, in vec2 size)
|
||||||
|
{
|
||||||
|
vec2 coord = uv / size;
|
||||||
|
vec2 grid = abs(fract(coord - 0.5) - 0.5) / (2.0 * fwidth(coord));
|
||||||
|
float line = min(grid.x, grid.y);
|
||||||
|
return 1.0 - min(line, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vec4 texColor = texture(uTexture, vTexCoord);
|
||||||
|
|
||||||
|
vec2 mapCoord = vec2(map(vTexCoord.x, uCorners.x, uCorners.z, 0.0, 1.0), map(vTexCoord.y, uCorners.y, uCorners.w, 0.0, 1.0));
|
||||||
|
|
||||||
|
float a = 1.0;
|
||||||
|
if (uEdges.x > 0.0) a *= clamp(mapCoord.x / uEdges.x, 0.0, 1.0);
|
||||||
|
if (uEdges.y > 0.0) a *= clamp(mapCoord.y / uEdges.y, 0.0, 1.0);
|
||||||
|
if (uEdges.z > 0.0) a *= clamp((1.0 - mapCoord.x) / uEdges.z, 0.0, 1.0);
|
||||||
|
if (uEdges.w > 0.0) a *= clamp((1.0 - mapCoord.y) / uEdges.w, 0.0, 1.0);
|
||||||
|
|
||||||
|
const vec3 one = vec3(1.0);
|
||||||
|
vec3 blend = (a < 0.5) ? (uLuminance * pow(2.0 * a, uExponent)) : one - (one - uLuminance) * pow(2.0 * (1.0 - a), uExponent);
|
||||||
|
|
||||||
|
texColor.rgb *= pow(blend, one / uGamma);
|
||||||
|
|
||||||
|
if (uEditing)
|
||||||
|
{
|
||||||
|
float f = grid(mapCoord.xy * uExtends.xy, uExtends.zw);
|
||||||
|
vec4 gridColor = vec4(1.0f);
|
||||||
|
fragColor = mix(texColor * vColor, gridColor, f);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fragColor = texColor * vColor;
|
||||||
|
}
|
||||||
|
}
|
21
bin/data/shaders/ofxWarp/WarpBilinear.vert
Normal file
21
bin/data/shaders/ofxWarp/WarpBilinear.vert
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#version 150
|
||||||
|
|
||||||
|
// OF default uniforms and attributes
|
||||||
|
uniform mat4 modelViewProjectionMatrix;
|
||||||
|
uniform vec4 globalColor;
|
||||||
|
|
||||||
|
in vec4 position;
|
||||||
|
in vec2 texcoord;
|
||||||
|
in vec4 color;
|
||||||
|
|
||||||
|
// App uniforms and attributes
|
||||||
|
out vec2 vTexCoord;
|
||||||
|
out vec4 vColor;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vTexCoord = texcoord;
|
||||||
|
vColor = globalColor;
|
||||||
|
|
||||||
|
gl_Position = modelViewProjectionMatrix * position;
|
||||||
|
}
|
38
bin/data/shaders/ofxWarp/WarpPerspective.frag
Normal file
38
bin/data/shaders/ofxWarp/WarpPerspective.frag
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#version 150
|
||||||
|
|
||||||
|
uniform sampler2D uTexture;
|
||||||
|
uniform vec3 uLuminance;
|
||||||
|
uniform vec3 uGamma;
|
||||||
|
uniform vec4 uEdges;
|
||||||
|
uniform vec4 uCorners;
|
||||||
|
uniform float uExponent;
|
||||||
|
|
||||||
|
in vec2 vTexCoord;
|
||||||
|
in vec4 vColor;
|
||||||
|
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
float map(in float value, in float inMin, in float inMax, in float outMin, in float outMax)
|
||||||
|
{
|
||||||
|
return outMin + (outMax - outMin) * (value - inMin) / (inMax - inMin);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
vec4 texColor = texture(uTexture, vTexCoord);
|
||||||
|
|
||||||
|
vec2 mapCoord = vec2(map(vTexCoord.x, uCorners.x, uCorners.z, 0.0, 1.0), map(vTexCoord.y, uCorners.y, uCorners.w, 0.0, 1.0));
|
||||||
|
|
||||||
|
float a = 1.0;
|
||||||
|
if (uEdges.x > 0.0) a *= clamp(mapCoord.x / uEdges.x, 0.0, 1.0);
|
||||||
|
if (uEdges.y > 0.0) a *= clamp(mapCoord.y / uEdges.y, 0.0, 1.0);
|
||||||
|
if (uEdges.z > 0.0) a *= clamp((1.0 - mapCoord.x) / uEdges.z, 0.0, 1.0);
|
||||||
|
if (uEdges.w > 0.0) a *= clamp((1.0 - mapCoord.y) / uEdges.w, 0.0, 1.0);
|
||||||
|
|
||||||
|
const vec3 one = vec3(1.0);
|
||||||
|
vec3 blend = (a < 0.5) ? (uLuminance * pow(2.0 * a, uExponent)) : one - (one - uLuminance) * pow(2.0 * (1.0 - a), uExponent);
|
||||||
|
|
||||||
|
texColor.rgb *= pow(blend, one / uGamma);
|
||||||
|
|
||||||
|
fragColor = texColor * vColor;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user