summaryrefslogtreecommitdiff
path: root/warper/bin
diff options
context:
space:
mode:
authorTim Redfern <tim@getdrop.com>2018-02-02 01:47:51 +0000
committerTim Redfern <tim@getdrop.com>2018-02-02 01:47:51 +0000
commit7c50a03c5857310aa383b1ba89a18792c96724b1 (patch)
tree97727831c97af5c06b39064dfdba60d61f7c7ae3 /warper/bin
parent2b6c19dd192b07fe5980f667e26015da51c3106d (diff)
lots
Diffstat (limited to 'warper/bin')
-rw-r--r--warper/bin/data/ofxaddons_thumbnail.pngbin0 -> 15473 bytes
-rw-r--r--warper/bin/data/ofxaddons_thumbnail@2x.pngbin0 -> 52207 bytes
-rw-r--r--warper/bin/data/settings.json1
-rw-r--r--warper/bin/data/shaders/ofxWarp/ControlPoint.frag16
-rw-r--r--warper/bin/data/shaders/ofxWarp/ControlPoint.vert23
-rw-r--r--warper/bin/data/shaders/ofxWarp/WarpBilinear.frag57
-rw-r--r--warper/bin/data/shaders/ofxWarp/WarpBilinear.vert21
-rw-r--r--warper/bin/data/shaders/ofxWarp/WarpPerspective.frag38
-rw-r--r--warper/bin/data/shaders/ofxWarp/WarpPerspective.vert21
-rw-r--r--warper/bin/data/testcard.pngbin0 -> 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
new file mode 100644
index 0000000..622a643
--- /dev/null
+++ b/warper/bin/data/ofxaddons_thumbnail.png
Binary files differ
diff --git a/warper/bin/data/ofxaddons_thumbnail@2x.png b/warper/bin/data/ofxaddons_thumbnail@2x.png
new file mode 100644
index 0000000..67547e2
--- /dev/null
+++ b/warper/bin/data/ofxaddons_thumbnail@2x.png
Binary files differ
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
new file mode 100644
index 0000000..d15c568
--- /dev/null
+++ b/warper/bin/data/testcard.png
Binary files differ