diff options
Diffstat (limited to 'warper/bin/data')
| -rw-r--r-- | warper/bin/data/ofxaddons_thumbnail.png | bin | 0 -> 15473 bytes | |||
| -rw-r--r-- | warper/bin/data/ofxaddons_thumbnail@2x.png | bin | 0 -> 52207 bytes | |||
| -rw-r--r-- | warper/bin/data/settings.json | 1 | ||||
| -rw-r--r-- | warper/bin/data/shaders/ofxWarp/ControlPoint.frag | 16 | ||||
| -rw-r--r-- | warper/bin/data/shaders/ofxWarp/ControlPoint.vert | 23 | ||||
| -rw-r--r-- | warper/bin/data/shaders/ofxWarp/WarpBilinear.frag | 57 | ||||
| -rw-r--r-- | warper/bin/data/shaders/ofxWarp/WarpBilinear.vert | 21 | ||||
| -rw-r--r-- | warper/bin/data/shaders/ofxWarp/WarpPerspective.frag | 38 | ||||
| -rw-r--r-- | warper/bin/data/shaders/ofxWarp/WarpPerspective.vert | 21 | ||||
| -rw-r--r-- | warper/bin/data/testcard.png | bin | 0 -> 29159 bytes |
10 files changed, 177 insertions, 0 deletions
diff --git a/warper/bin/data/ofxaddons_thumbnail.png b/warper/bin/data/ofxaddons_thumbnail.png Binary files differnew file mode 100644 index 0000000..622a643 --- /dev/null +++ b/warper/bin/data/ofxaddons_thumbnail.png diff --git a/warper/bin/data/ofxaddons_thumbnail@2x.png b/warper/bin/data/ofxaddons_thumbnail@2x.png Binary files differnew file mode 100644 index 0000000..67547e2 --- /dev/null +++ b/warper/bin/data/ofxaddons_thumbnail@2x.png diff --git a/warper/bin/data/settings.json b/warper/bin/data/settings.json new file mode 100644 index 0000000..e996b05 --- /dev/null +++ b/warper/bin/data/settings.json @@ -0,0 +1 @@ +{"warps":[{"blend":{"edges":"0, 0, 0.5, 0.5","exponent":2.0,"gamma":"1, 1, 1","luminance":"0.5, 0.5, 0.5"},"brightness":1.0,"type":2,"warp":{"columns":2,"control points":["0.0890625, 0.0597222","0.331009, 0.166569","0.388825, 0.477371","0.148126, 0.571886"],"rows":2}},{"adaptive":true,"blend":{"edges":"0.5, 0, 0, 0.5","exponent":2.0,"gamma":"1, 1, 1","luminance":"0.5, 0.5, 0.5"},"brightness":1.0,"linear":false,"resolution":16,"type":1,"warp":{"columns":5,"control points":["0.48418, 0.12602","0.554367, 0.469092","0.573438, 0.0392361","0.671484, 0.480903","0.725861, 0.186838","0.757812, 0.497917","0.824219, 0.0482639","0.840234, 0.410764","0.980469, 0.0527778","0.929688, 0.459722"],"rows":2}},{"adaptive":true,"blend":{"edges":"0.5, 0.5, 0, 0.5","exponent":2.0,"gamma":"1, 1, 1","luminance":"0.5, 0.5, 0.5"},"brightness":1.0,"corners":["0.585389, 0.542979","0.930469, 0.458333","0.898438, 0.870833","0.561719, 0.919444"],"linear":false,"resolution":16,"type":3,"warp":{"columns":5,"control points":["0, 0","0.0630292, 0.500232","0, 1","0.259811, -0.0268803","0.343242, 0.536344","0.259619, 1.09856","0.500002, 0.00670155","0.577167, 0.598489","0.513955, 1.19234","0.732039, -0.136884","0.82365, 0.508819","0.781408, 1.15969","1, 0","1.08493, 0.500191","1, 1"],"rows":3}},{"adaptive":true,"blend":{"edges":"0, 0.5, 0.5, 0","exponent":2.0,"gamma":"1, 1, 1","luminance":"0.5, 0.5, 0.5"},"brightness":1.0,"corners":["0.0460633, 0.677925","0.504574, 0.58986","0.567969, 0.920833","0.0382813, 0.911111"],"linear":false,"resolution":16,"type":3,"warp":{"columns":2,"control points":["0, 0","0.0784798, 0.507221","0, 1","1, 0","1.03334, 0.507208","1, 1"],"rows":3}}]}
\ No newline at end of file diff --git a/warper/bin/data/shaders/ofxWarp/ControlPoint.frag b/warper/bin/data/shaders/ofxWarp/ControlPoint.frag new file mode 100644 index 0000000..87ef7a3 --- /dev/null +++ b/warper/bin/data/shaders/ofxWarp/ControlPoint.frag @@ -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); +} diff --git a/warper/bin/data/shaders/ofxWarp/ControlPoint.vert b/warper/bin/data/shaders/ofxWarp/ControlPoint.vert new file mode 100644 index 0000000..8eccc63 --- /dev/null +++ b/warper/bin/data/shaders/ofxWarp/ControlPoint.vert @@ -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); +} diff --git a/warper/bin/data/shaders/ofxWarp/WarpBilinear.frag b/warper/bin/data/shaders/ofxWarp/WarpBilinear.frag new file mode 100644 index 0000000..14597bb --- /dev/null +++ b/warper/bin/data/shaders/ofxWarp/WarpBilinear.frag @@ -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; + } +} diff --git a/warper/bin/data/shaders/ofxWarp/WarpBilinear.vert b/warper/bin/data/shaders/ofxWarp/WarpBilinear.vert new file mode 100644 index 0000000..81e4fad --- /dev/null +++ b/warper/bin/data/shaders/ofxWarp/WarpBilinear.vert @@ -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; +} diff --git a/warper/bin/data/shaders/ofxWarp/WarpPerspective.frag b/warper/bin/data/shaders/ofxWarp/WarpPerspective.frag new file mode 100644 index 0000000..82c1a0b --- /dev/null +++ b/warper/bin/data/shaders/ofxWarp/WarpPerspective.frag @@ -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; +} diff --git a/warper/bin/data/shaders/ofxWarp/WarpPerspective.vert b/warper/bin/data/shaders/ofxWarp/WarpPerspective.vert new file mode 100644 index 0000000..81e4fad --- /dev/null +++ b/warper/bin/data/shaders/ofxWarp/WarpPerspective.vert @@ -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; +} diff --git a/warper/bin/data/testcard.png b/warper/bin/data/testcard.png Binary files differnew file mode 100644 index 0000000..d15c568 --- /dev/null +++ b/warper/bin/data/testcard.png |
