@remotion/effects 4.0.483 → 4.0.485
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/corner-pin/corner-pin-shaders.d.ts +1 -1
- package/dist/esm/corner-pin.mjs +38 -35
- package/dist/esm/index.mjs +642 -57
- package/dist/esm/linear-gradient-tint.mjs +426 -0
- package/dist/esm/linear-gradient.mjs +372 -0
- package/dist/esm/venetian-blinds.mjs +389 -0
- package/dist/index.d.ts +2 -0
- package/dist/linear-gradient-tint.d.ts +26 -0
- package/dist/linear-gradient.d.ts +22 -0
- package/dist/venetian-blinds.d.ts +43 -0
- package/package.json +27 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const CORNER_PIN_VS = "#version 300 es\nlayout(location = 0) in vec2 aPos;\nlayout(location = 1) in vec2 aUv;\nout vec2 vUv;\n\nvoid main() {\n\tvUv = aUv;\n\tgl_Position = vec4(aPos, 0.0, 1.0);\n}\n";
|
|
2
|
-
export declare const CORNER_PIN_FS = "#version 300 es\nprecision highp float;\n\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform sampler2D uSource;\nuniform vec2 uTopLeft;\nuniform vec2 uTopRight;\nuniform vec2 uBottomRight;\nuniform vec2 uBottomLeft;\n\
|
|
2
|
+
export declare const CORNER_PIN_FS = "#version 300 es\nprecision highp float;\n\nin vec2 vUv;\nout vec4 fragColor;\n\nuniform sampler2D uSource;\nuniform vec2 uTopLeft;\nuniform vec2 uTopRight;\nuniform vec2 uBottomRight;\nuniform vec2 uBottomLeft;\n\nbool solveProjectiveInverse(vec2 p, out vec2 uv) {\n\tvec2 p0 = uBottomLeft;\n\tvec2 p1 = uBottomRight;\n\tvec2 p2 = uTopRight;\n\tvec2 p3 = uTopLeft;\n\n\tvec2 dx1 = p1 - p2;\n\tvec2 dx2 = p3 - p2;\n\tvec2 dx3 = p0 - p1 + p2 - p3;\n\n\tfloat g = 0.0;\n\tfloat h = 0.0;\n\n\tif (abs(dx3.x) > 0.000001 || abs(dx3.y) > 0.000001) {\n\t\tfloat denominator = dx1.x * dx2.y - dx2.x * dx1.y;\n\t\tif (abs(denominator) < 0.000001) {\n\t\t\treturn false;\n\t\t}\n\n\t\tg = (dx3.x * dx2.y - dx2.x * dx3.y) / denominator;\n\t\th = (dx1.x * dx3.y - dx3.x * dx1.y) / denominator;\n\t}\n\n\tfloat a = p1.x - p0.x + g * p1.x;\n\tfloat b = p3.x - p0.x + h * p3.x;\n\tfloat c = p0.x;\n\tfloat d = p1.y - p0.y + g * p1.y;\n\tfloat e = p3.y - p0.y + h * p3.y;\n\tfloat f = p0.y;\n\n\tfloat inverseX =\n\t\t(e - f * h) * p.x +\n\t\t(c * h - b) * p.y +\n\t\t(b * f - c * e);\n\tfloat inverseY =\n\t\t(f * g - d) * p.x +\n\t\t(a - c * g) * p.y +\n\t\t(c * d - a * f);\n\tfloat inverseW =\n\t\t(d * h - e * g) * p.x +\n\t\t(b * g - a * h) * p.y +\n\t\t(a * e - b * d);\n\n\tif (abs(inverseW) < 0.000001) {\n\t\treturn false;\n\t}\n\n\tuv = vec2(inverseX / inverseW, inverseY / inverseW);\n\treturn true;\n}\n\nvoid main() {\n\tvec2 sourceUv;\n\tif (!solveProjectiveInverse(vUv, sourceUv)) {\n\t\tfragColor = vec4(0.0);\n\t\treturn;\n\t}\n\n\tif (\n\t\tsourceUv.x < 0.0 ||\n\t\tsourceUv.x > 1.0 ||\n\t\tsourceUv.y < 0.0 ||\n\t\tsourceUv.y > 1.0\n\t) {\n\t\tfragColor = vec4(0.0);\n\t\treturn;\n\t}\n\n\tfragColor = texture(uSource, sourceUv);\n}\n";
|
package/dist/esm/corner-pin.mjs
CHANGED
|
@@ -63,57 +63,60 @@ uniform vec2 uTopRight;
|
|
|
63
63
|
uniform vec2 uBottomRight;
|
|
64
64
|
uniform vec2 uBottomLeft;
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
bool solveProjectiveInverse(vec2 p, out vec2 uv) {
|
|
67
|
+
vec2 p0 = uBottomLeft;
|
|
68
|
+
vec2 p1 = uBottomRight;
|
|
69
|
+
vec2 p2 = uTopRight;
|
|
70
|
+
vec2 p3 = uTopLeft;
|
|
71
|
+
|
|
72
|
+
vec2 dx1 = p1 - p2;
|
|
73
|
+
vec2 dx2 = p3 - p2;
|
|
74
|
+
vec2 dx3 = p0 - p1 + p2 - p3;
|
|
69
75
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
vec2 b = uBottomRight - uBottomLeft;
|
|
73
|
-
vec2 c = uTopLeft - uBottomLeft;
|
|
74
|
-
vec2 d = uBottomLeft - uBottomRight + uTopRight - uTopLeft;
|
|
75
|
-
vec2 q = p - a;
|
|
76
|
+
float g = 0.0;
|
|
77
|
+
float h = 0.0;
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (abs(
|
|
79
|
+
if (abs(dx3.x) > 0.000001 || abs(dx3.y) > 0.000001) {
|
|
80
|
+
float denominator = dx1.x * dx2.y - dx2.x * dx1.y;
|
|
81
|
+
if (abs(denominator) < 0.000001) {
|
|
80
82
|
return false;
|
|
81
83
|
}
|
|
82
84
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return true;
|
|
85
|
+
g = (dx3.x * dx2.y - dx2.x * dx3.y) / denominator;
|
|
86
|
+
h = (dx1.x * dx3.y - dx3.x * dx1.y) / denominator;
|
|
86
87
|
}
|
|
87
88
|
|
|
88
|
-
float
|
|
89
|
-
float
|
|
90
|
-
float
|
|
91
|
-
float
|
|
89
|
+
float a = p1.x - p0.x + g * p1.x;
|
|
90
|
+
float b = p3.x - p0.x + h * p3.x;
|
|
91
|
+
float c = p0.x;
|
|
92
|
+
float d = p1.y - p0.y + g * p1.y;
|
|
93
|
+
float e = p3.y - p0.y + h * p3.y;
|
|
94
|
+
float f = p0.y;
|
|
92
95
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
float inverseX =
|
|
97
|
+
(e - f * h) * p.x +
|
|
98
|
+
(c * h - b) * p.y +
|
|
99
|
+
(b * f - c * e);
|
|
100
|
+
float inverseY =
|
|
101
|
+
(f * g - d) * p.x +
|
|
102
|
+
(a - c * g) * p.y +
|
|
103
|
+
(c * d - a * f);
|
|
104
|
+
float inverseW =
|
|
105
|
+
(d * h - e * g) * p.x +
|
|
106
|
+
(b * g - a * h) * p.y +
|
|
107
|
+
(a * e - b * d);
|
|
96
108
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
float u2 = (-qb - sqrtDiscriminant) / (2.0 * qa);
|
|
100
|
-
float u = u1;
|
|
101
|
-
if (u1 < -0.001 || u1 > 1.001) {
|
|
102
|
-
u = u2;
|
|
109
|
+
if (abs(inverseW) < 0.000001) {
|
|
110
|
+
return false;
|
|
103
111
|
}
|
|
104
112
|
|
|
105
|
-
|
|
106
|
-
float v = abs(denominator.x) > abs(denominator.y)
|
|
107
|
-
? (q.x - b.x * u) / denominator.x
|
|
108
|
-
: (q.y - b.y * u) / denominator.y;
|
|
109
|
-
|
|
110
|
-
uv = vec2(u, v);
|
|
113
|
+
uv = vec2(inverseX / inverseW, inverseY / inverseW);
|
|
111
114
|
return true;
|
|
112
115
|
}
|
|
113
116
|
|
|
114
117
|
void main() {
|
|
115
118
|
vec2 sourceUv;
|
|
116
|
-
if (!
|
|
119
|
+
if (!solveProjectiveInverse(vUv, sourceUv)) {
|
|
117
120
|
fragColor = vec4(0.0);
|
|
118
121
|
return;
|
|
119
122
|
}
|