@remotion/effects 4.0.538 → 4.0.540
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/THIRD_PARTY_LICENSES.md +19 -0
- package/dist/barrel-distortion/webgpu-shader.d.ts +1 -0
- package/dist/bevel-alpha/webgpu-shaders.d.ts +2 -0
- package/dist/burlap-webgpu-shader.d.ts +1 -0
- package/dist/checkerboard-webgpu-shader.d.ts +1 -0
- package/dist/chromatic-aberration/webgpu-shader.d.ts +1 -0
- package/dist/color-correction-webgpu-shader-utils.d.ts +4 -0
- package/dist/color-key-webgpu-shader.d.ts +1 -0
- package/dist/color-matrix-runtime.d.ts +4 -0
- package/dist/contour-lines-webgpu-shader.d.ts +1 -0
- package/dist/corner-pin/webgpu-shader.d.ts +1 -0
- package/dist/curves.d.ts +65 -0
- package/dist/cylinder/webgl-shader.d.ts +1 -0
- package/dist/dot-grid-webgpu-shader.d.ts +1 -0
- package/dist/drop-shadow/webgpu-shaders.d.ts +2 -0
- package/dist/emboss-webgpu-shader.d.ts +1 -0
- package/dist/esm/barrel-distortion.mjs +67 -118
- package/dist/esm/bevel-alpha.mjs +247 -196
- package/dist/esm/blur.mjs +101 -115
- package/dist/esm/brightness.mjs +65 -132
- package/dist/esm/burlap.mjs +178 -151
- package/dist/esm/checkerboard.mjs +6 -514
- package/dist/esm/chromatic-aberration.mjs +72 -119
- package/dist/esm/color-correction.mjs +186 -224
- package/dist/esm/color-key.mjs +149 -136
- package/dist/esm/contour-lines.mjs +201 -160
- package/dist/esm/contrast.mjs +65 -132
- package/dist/esm/corner-pin.mjs +4 -390
- package/dist/esm/curves.mjs +357 -0
- package/dist/esm/cylinder.mjs +108 -225
- package/dist/esm/dot-grid.mjs +184 -213
- package/dist/esm/drop-shadow.mjs +162 -180
- package/dist/esm/duotone.mjs +110 -143
- package/dist/esm/emboss.mjs +153 -151
- package/dist/esm/evolve.mjs +228 -154
- package/dist/esm/exposure.mjs +93 -201
- package/dist/esm/film-burn.mjs +298 -0
- package/dist/esm/fisheye.mjs +97 -126
- package/dist/esm/flannel.mjs +158 -156
- package/dist/esm/fractal-noise.mjs +186 -232
- package/dist/esm/glow.mjs +164 -179
- package/dist/esm/grayscale.mjs +56 -122
- package/dist/esm/gridlines.mjs +6 -575
- package/dist/esm/halftone-linear-gradient.mjs +246 -245
- package/dist/esm/halftone.mjs +267 -243
- package/dist/esm/hue.mjs +55 -122
- package/dist/esm/index-00v3hr66.mjs +299 -0
- package/dist/esm/index-0w4eqht8.mjs +351 -0
- package/dist/esm/index-18y0zcy2.mjs +440 -0
- package/dist/esm/index-1m1b1ad7.mjs +520 -0
- package/dist/esm/index-34fxm3ax.mjs +518 -0
- package/dist/esm/index-4fvp93ps.mjs +32 -0
- package/dist/esm/index-4scpn12x.mjs +224 -0
- package/dist/esm/index-4z6pt3ka.mjs +104 -0
- package/dist/esm/index-618ky75w.mjs +51 -0
- package/dist/esm/index-6agxdrvr.mjs +411 -0
- package/dist/esm/index-6jkps947.mjs +120 -0
- package/dist/esm/index-8agtsbw4.mjs +617 -0
- package/dist/esm/index-8jx11jyn.mjs +29 -0
- package/dist/esm/index-8p04sssx.mjs +123 -0
- package/dist/esm/index-afdtmrh2.mjs +596 -0
- package/dist/esm/index-b86qstcs.mjs +18 -0
- package/dist/esm/index-cb77qg3g.mjs +587 -0
- package/dist/esm/index-cdp7tr8x.mjs +122 -0
- package/dist/esm/index-evy8hyah.mjs +55 -0
- package/dist/esm/index-gnsce796.mjs +6 -0
- package/dist/esm/index-kkvzt8b7.mjs +199 -0
- package/dist/esm/index-r0v18b2n.mjs +425 -0
- package/dist/esm/index-rswpzmm5.mjs +926 -0
- package/dist/esm/index-s9mrx750.mjs +97 -0
- package/dist/esm/index-tvfexb7s.mjs +164 -0
- package/dist/esm/index-vp56k1gj.mjs +215 -0
- package/dist/esm/index-wxhvgv2s.mjs +79 -0
- package/dist/esm/index-wy95a41r.mjs +407 -0
- package/dist/esm/index-ysnwfc4t.mjs +306 -0
- package/dist/esm/index.mjs +49 -4053
- package/dist/esm/invert.mjs +54 -122
- package/dist/esm/iris-wipe.mjs +315 -0
- package/dist/esm/lens-blur.mjs +169 -156
- package/dist/esm/levels.mjs +204 -151
- package/dist/esm/light-leak.mjs +6 -416
- package/dist/esm/light-trail.mjs +124 -128
- package/dist/esm/linear-gradient-tint.mjs +4 -424
- package/dist/esm/linear-gradient.mjs +4 -370
- package/dist/esm/linear-progressive-blur.mjs +92 -118
- package/dist/esm/linear-progressive-pixelate.mjs +83 -378
- package/dist/esm/lines.mjs +167 -162
- package/dist/esm/liquid-contours.mjs +192 -153
- package/dist/esm/long-shadows.mjs +278 -251
- package/dist/esm/lut.mjs +123 -23
- package/dist/esm/mirror.mjs +78 -120
- package/dist/esm/noise-displacement.mjs +156 -151
- package/dist/esm/noise.mjs +107 -143
- package/dist/esm/outline.mjs +192 -170
- package/dist/esm/page-turn.mjs +141 -244
- package/dist/esm/paper.mjs +522 -194
- package/dist/esm/pattern.mjs +4 -568
- package/dist/esm/pixel-dissolve.mjs +158 -186
- package/dist/esm/pixelate.mjs +92 -149
- package/dist/esm/radial-progressive-blur.mjs +96 -118
- package/dist/esm/radial-progressive-pixelate.mjs +91 -384
- package/dist/esm/radial-wipe.mjs +224 -0
- package/dist/esm/rain-fall.mjs +114 -0
- package/dist/esm/region-blur.mjs +138 -192
- package/dist/esm/rings.mjs +6 -512
- package/dist/esm/roughen-edges.mjs +180 -156
- package/dist/esm/saturation.mjs +56 -122
- package/dist/esm/scale.mjs +50 -60
- package/dist/esm/scanlines.mjs +115 -149
- package/dist/esm/shadows-highlights.mjs +103 -205
- package/dist/esm/shatter.mjs +868 -0
- package/dist/esm/shine.mjs +192 -227
- package/dist/esm/shrinkwrap.mjs +388 -225
- package/dist/esm/skew.mjs +100 -145
- package/dist/esm/snow-fall.mjs +170 -0
- package/dist/esm/speckle.mjs +192 -210
- package/dist/esm/sphere.mjs +101 -225
- package/dist/esm/starburst.mjs +6 -345
- package/dist/esm/tear.mjs +138 -155
- package/dist/esm/thermal-vision.mjs +135 -152
- package/dist/esm/tile.mjs +5 -184
- package/dist/esm/tint.mjs +80 -132
- package/dist/esm/translate.mjs +55 -137
- package/dist/esm/turbulent-displace.mjs +182 -221
- package/dist/esm/tv-signal-off.mjs +140 -149
- package/dist/esm/venetian-blinds.mjs +91 -140
- package/dist/esm/vibrance.mjs +95 -204
- package/dist/esm/vignette.mjs +136 -155
- package/dist/esm/wave.mjs +88 -47
- package/dist/esm/waves.mjs +181 -169
- package/dist/esm/white-balance.mjs +100 -204
- package/dist/esm/white-noise.mjs +98 -146
- package/dist/esm/zigzag.mjs +6 -575
- package/dist/esm/zoom-blur.mjs +90 -121
- package/dist/evolve.d.ts +46 -10
- package/dist/film-burn-webgpu-shader.d.ts +1 -0
- package/dist/film-burn.d.ts +40 -0
- package/dist/fisheye/webgpu-shader.d.ts +1 -0
- package/dist/flannel-webgpu-shader.d.ts +1 -0
- package/dist/fractal-noise/shader.d.ts +1 -1
- package/dist/fractal-noise/webgpu-shader.d.ts +1 -0
- package/dist/gaussian-blur-webgpu-shader.d.ts +1 -0
- package/dist/glow/webgpu-shaders.d.ts +2 -0
- package/dist/gridlines-webgpu-shader.d.ts +1 -0
- package/dist/halftone-linear-gradient-webgpu-shader.d.ts +1 -0
- package/dist/halftone-webgpu-shader.d.ts +1 -0
- package/dist/iris-wipe.d.ts +78 -0
- package/dist/lens-blur/webgpu-shader.d.ts +1 -0
- package/dist/levels.d.ts +69 -2
- package/dist/light-leak-webgpu-shader.d.ts +1 -0
- package/dist/light-trail/webgpu-shader.d.ts +1 -0
- package/dist/linear-gradient-tint-webgpu-shader.d.ts +1 -0
- package/dist/linear-gradient-webgpu-shader.d.ts +1 -0
- package/dist/lines-webgpu-shader.d.ts +1 -0
- package/dist/liquid-contours-webgpu-shader.d.ts +1 -0
- package/dist/long-shadows-webgpu-shaders.d.ts +2 -0
- package/dist/lut/webgpu-shader.d.ts +1 -0
- package/dist/mirror/webgpu-shader.d.ts +1 -0
- package/dist/noise-displacement-webgpu-shader.d.ts +1 -0
- package/dist/noise-webgpu-shader.d.ts +1 -0
- package/dist/outline/webgpu-shader.d.ts +1 -0
- package/dist/page-turn/webgl-shader.d.ts +1 -0
- package/dist/paper-webgpu-shader.d.ts +2 -0
- package/dist/pattern-webgpu-shader.d.ts +1 -0
- package/dist/pixel-dissolve-webgpu-shader.d.ts +1 -0
- package/dist/progressive-pixelate-runtime.d.ts +1 -0
- package/dist/radial-wipe.d.ts +19 -0
- package/dist/rain-fall.d.ts +143 -0
- package/dist/rect-transform-runtime.d.ts +11 -0
- package/dist/region-blur/webgpu-shader.d.ts +1 -0
- package/dist/rings-webgpu-shader.d.ts +1 -0
- package/dist/roughen-edges-webgpu-shader.d.ts +1 -0
- package/dist/shatter/geometry.d.ts +19 -0
- package/dist/shatter/index.d.ts +39 -0
- package/dist/shatter/runtime.d.ts +19 -0
- package/dist/shatter/webgpu-shader.d.ts +1 -0
- package/dist/shatter.d.ts +1 -0
- package/dist/shine-webgpu-shader.d.ts +1 -0
- package/dist/shrinkwrap-webgpu-shader.d.ts +1 -0
- package/dist/single-pass-runtime.d.ts +18 -0
- package/dist/skew-webgpu-shader.d.ts +1 -0
- package/dist/snow-fall.d.ts +208 -0
- package/dist/speckle-webgpu-shader.d.ts +1 -0
- package/dist/sphere/webgl-shader.d.ts +1 -0
- package/dist/starburst-webgpu-shader.d.ts +1 -0
- package/dist/tear-webgpu-shader.d.ts +1 -0
- package/dist/thermal-vision-webgpu-shader.d.ts +1 -0
- package/dist/tile-gpu-runtime.d.ts +24 -0
- package/dist/turbulent-displace/webgpu-shader.d.ts +1 -0
- package/dist/value-noise-webgpu-shader.d.ts +1 -0
- package/dist/vignette-webgpu-shader.d.ts +1 -0
- package/dist/wave/wave-runtime.d.ts +2 -1
- package/dist/wave/webgpu-shader.d.ts +1 -0
- package/dist/waves-webgpu-shader.d.ts +1 -0
- package/dist/weather/params.d.ts +149 -0
- package/dist/weather/runtime.d.ts +52 -0
- package/dist/weather/shaders.d.ts +4 -0
- package/dist/weather/webgpu-runtime.d.ts +36 -0
- package/dist/weather/webgpu-shader.d.ts +1 -0
- package/dist/webgl-projection-runtime.d.ts +18 -0
- package/dist/webgpu-color-state.d.ts +10 -0
- package/dist/webgpu-mesh-runtime.d.ts +46 -0
- package/dist/webgpu-multipass-runtime.d.ts +50 -0
- package/dist/webgpu-projection-runtime.d.ts +9 -5
- package/dist/webgpu-single-pass-runtime.d.ts +47 -0
- package/dist/white-noise-webgpu-shader.d.ts +1 -0
- package/dist/zigzag-webgpu-shader.d.ts +1 -0
- package/dist/zoom-blur/webgpu-shader.d.ts +1 -0
- package/package.json +59 -3
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type WebGpuMeshState = {
|
|
2
|
+
readonly context: GPUCanvasContext;
|
|
3
|
+
readonly label: string;
|
|
4
|
+
resources: {
|
|
5
|
+
readonly device: GPUDevice;
|
|
6
|
+
readonly shader: string;
|
|
7
|
+
readonly uniformSize: number;
|
|
8
|
+
readonly topology: GPUPrimitiveTopology;
|
|
9
|
+
readonly blend: boolean;
|
|
10
|
+
readonly pipeline: GPURenderPipeline;
|
|
11
|
+
readonly flipPipeline: GPURenderPipeline;
|
|
12
|
+
readonly sampler: GPUSampler;
|
|
13
|
+
readonly uniforms: GPUBuffer;
|
|
14
|
+
multisample: {
|
|
15
|
+
readonly resolved: GPUTexture;
|
|
16
|
+
readonly texture: GPUTexture;
|
|
17
|
+
readonly width: number;
|
|
18
|
+
readonly height: number;
|
|
19
|
+
} | null;
|
|
20
|
+
vertices: {
|
|
21
|
+
readonly buffer: GPUBuffer;
|
|
22
|
+
readonly size: number;
|
|
23
|
+
} | null;
|
|
24
|
+
source: {
|
|
25
|
+
readonly texture: GPUTexture;
|
|
26
|
+
readonly width: number;
|
|
27
|
+
readonly height: number;
|
|
28
|
+
} | null;
|
|
29
|
+
} | null;
|
|
30
|
+
};
|
|
31
|
+
export declare const setupWebGpuMesh: (target: HTMLCanvasElement, label: string) => WebGpuMeshState;
|
|
32
|
+
export declare const cleanupWebGpuMesh: (state: WebGpuMeshState) => void;
|
|
33
|
+
export declare const applyWebGpuMesh: ({ state, source, width, height, vertices, device, shader, uniformData, topology, blend, vertexCount, instanceCount, }: {
|
|
34
|
+
state: WebGpuMeshState;
|
|
35
|
+
source: CanvasImageSource;
|
|
36
|
+
width: number;
|
|
37
|
+
height: number;
|
|
38
|
+
vertices: Float32Array | null;
|
|
39
|
+
shader: string;
|
|
40
|
+
uniformData: Float32Array<ArrayBuffer>;
|
|
41
|
+
topology: GPUPrimitiveTopology;
|
|
42
|
+
blend: boolean;
|
|
43
|
+
vertexCount: number;
|
|
44
|
+
instanceCount: number;
|
|
45
|
+
device: GPUDevice;
|
|
46
|
+
}) => void;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const WEBGPU_MULTIPASS_BINDINGS = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var source: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\n@group(0) @binding(3) var secondary: texture_2d<f32>;\n";
|
|
2
|
+
export type WebGpuPass = {
|
|
3
|
+
readonly shader: string;
|
|
4
|
+
readonly uniforms: Float32Array<ArrayBuffer>;
|
|
5
|
+
readonly source: number;
|
|
6
|
+
readonly secondary: number;
|
|
7
|
+
};
|
|
8
|
+
type PassResources = {
|
|
9
|
+
readonly shader: string;
|
|
10
|
+
readonly size: number;
|
|
11
|
+
readonly format: GPUTextureFormat;
|
|
12
|
+
readonly pipeline: GPURenderPipeline;
|
|
13
|
+
readonly uniforms: GPUBuffer;
|
|
14
|
+
};
|
|
15
|
+
export type WebGpuMultipassState = {
|
|
16
|
+
readonly context: GPUCanvasContext;
|
|
17
|
+
readonly label: string;
|
|
18
|
+
resources: {
|
|
19
|
+
readonly device: GPUDevice;
|
|
20
|
+
readonly layout: GPUBindGroupLayout;
|
|
21
|
+
readonly sampler: GPUSampler;
|
|
22
|
+
readonly format: GPUTextureFormat;
|
|
23
|
+
readonly passes: PassResources[];
|
|
24
|
+
readonly textures: GPUTexture[];
|
|
25
|
+
auxiliary: {
|
|
26
|
+
readonly texture: GPUTexture;
|
|
27
|
+
readonly width: number;
|
|
28
|
+
readonly height: number;
|
|
29
|
+
} | null;
|
|
30
|
+
width: number;
|
|
31
|
+
height: number;
|
|
32
|
+
source: {
|
|
33
|
+
readonly texture: GPUTexture;
|
|
34
|
+
readonly width: number;
|
|
35
|
+
readonly height: number;
|
|
36
|
+
} | null;
|
|
37
|
+
} | null;
|
|
38
|
+
};
|
|
39
|
+
export declare const setupWebGpuMultipass: (target: HTMLCanvasElement, label: string) => WebGpuMultipassState;
|
|
40
|
+
export declare const cleanupWebGpuMultipass: (state: WebGpuMultipassState) => void;
|
|
41
|
+
export declare const applyWebGpuMultipass: ({ state, source, width, height, device, passes, auxiliarySource, }: {
|
|
42
|
+
state: WebGpuMultipassState;
|
|
43
|
+
source: CanvasImageSource;
|
|
44
|
+
width: number;
|
|
45
|
+
height: number;
|
|
46
|
+
device: GPUDevice;
|
|
47
|
+
passes: readonly WebGpuPass[];
|
|
48
|
+
auxiliarySource: HTMLCanvasElement | null;
|
|
49
|
+
}) => void;
|
|
50
|
+
export {};
|
|
@@ -2,18 +2,22 @@ export type WebGpuProjectionState = {
|
|
|
2
2
|
context: GPUCanvasContext;
|
|
3
3
|
resources: {
|
|
4
4
|
device: GPUDevice;
|
|
5
|
+
shader: string;
|
|
6
|
+
format: GPUTextureFormat;
|
|
5
7
|
pipeline: GPURenderPipeline;
|
|
6
8
|
uniforms: GPUBuffer;
|
|
7
9
|
sampler: GPUSampler;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
source: {
|
|
11
|
+
texture: GPUTexture;
|
|
12
|
+
bindGroup: GPUBindGroup;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
} | null;
|
|
12
16
|
} | null;
|
|
13
17
|
};
|
|
14
18
|
export declare const cleanupWebGpuProjection: (state: WebGpuProjectionState) => void;
|
|
15
19
|
export declare const setupWebGpuProjection: (target: HTMLCanvasElement, label: string) => WebGpuProjectionState;
|
|
16
|
-
export declare const applyWebGpuProjection: ({ state, source,
|
|
20
|
+
export declare const applyWebGpuProjection: ({ state, source, device, shader, uniformData, }: {
|
|
17
21
|
state: WebGpuProjectionState;
|
|
18
22
|
source: CanvasImageSource;
|
|
19
23
|
width: number;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type WebGpuSinglePassState = {
|
|
2
|
+
readonly context: GPUCanvasContext;
|
|
3
|
+
readonly label: string;
|
|
4
|
+
resources: {
|
|
5
|
+
readonly device: GPUDevice;
|
|
6
|
+
readonly shader: string;
|
|
7
|
+
readonly uniformBufferSize: number;
|
|
8
|
+
readonly sourceFilter: GPUFilterMode;
|
|
9
|
+
readonly auxiliary: {
|
|
10
|
+
readonly texture: GPUTexture;
|
|
11
|
+
readonly width: number;
|
|
12
|
+
readonly height: number;
|
|
13
|
+
readonly format: 'rgba8unorm' | 'rgba32float';
|
|
14
|
+
uploadedData: Uint8Array<ArrayBuffer> | Float32Array<ArrayBuffer> | null;
|
|
15
|
+
} | null;
|
|
16
|
+
readonly pipeline: GPURenderPipeline;
|
|
17
|
+
readonly uniforms: GPUBuffer;
|
|
18
|
+
readonly sampler: GPUSampler;
|
|
19
|
+
readonly bindGroupLayout: GPUBindGroupLayout;
|
|
20
|
+
source: {
|
|
21
|
+
readonly texture: GPUTexture;
|
|
22
|
+
readonly bindGroup: GPUBindGroup;
|
|
23
|
+
readonly width: number;
|
|
24
|
+
readonly height: number;
|
|
25
|
+
} | null;
|
|
26
|
+
} | null;
|
|
27
|
+
};
|
|
28
|
+
export declare const WEBGPU_SINGLE_PASS_VERTEX = "\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n";
|
|
29
|
+
export declare const setupWebGpuSinglePass: (target: HTMLCanvasElement, label: string) => WebGpuSinglePassState;
|
|
30
|
+
export declare const cleanupWebGpuSinglePass: (state: WebGpuSinglePassState) => void;
|
|
31
|
+
export declare const applyWebGpuSinglePass: ({ state, source, device, shader, uniformData, }: {
|
|
32
|
+
state: WebGpuSinglePassState;
|
|
33
|
+
source: CanvasImageSource;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
device: GPUDevice;
|
|
37
|
+
shader: string;
|
|
38
|
+
uniformData: Float32Array<ArrayBuffer>;
|
|
39
|
+
}, options?: {
|
|
40
|
+
sourceFilter: GPUFilterMode | null;
|
|
41
|
+
auxiliaryTexture: {
|
|
42
|
+
data: Uint8Array<ArrayBuffer> | Float32Array<ArrayBuffer>;
|
|
43
|
+
width: number;
|
|
44
|
+
height: number;
|
|
45
|
+
format: 'rgba8unorm' | 'rgba32float';
|
|
46
|
+
} | null;
|
|
47
|
+
} | null) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WHITE_NOISE_WEBGPU_SHADER = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var source: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\n\nstruct Params { size: vec2f, amount: f32, seed: f32, }\nfn random(co: vec2f) -> f32 {\n return fract(sin(dot(co, vec2f(12.9898, 78.233)) + params.seed * 37.719) * 43758.5453);\n}\n@fragment fn fragment(input: VertexOutput) -> @location(0) vec4f {\n let color = textureSampleLevel(source, sourceSampler, input.uv, 0);\n let noise = random(vec2f(input.position.x, params.size.y - input.position.y));\n var rgb = vec3f(0);\n if (color.a != 0.0) { rgb = color.rgb / color.a; }\n return vec4f(mix(rgb, vec3f(noise), params.amount) * color.a, color.a);\n}\n\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ZIGZAG_WEBGPU_SHADER = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var sourceTexture: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\n@group(0) @binding(3) var palette: texture_2d<f32>;\nstruct Params {\n geometry: vec4f,\n stripe: vec4f,\n flags: vec4f,\n wave: vec4f,\n}\nfn sampleSource(uv: vec2f) -> vec4f {\n return textureSampleLevel(sourceTexture, sourceSampler, vec2f(uv.x, 1.0 - uv.y), 0);\n}\nfn glslModulo(value: f32, divisor: f32) -> f32 { return value - divisor * floor(value / divisor); }\nfn paletteColor(index: f32) -> vec4f { return textureLoad(palette, vec2i(i32(index), 0), 0); }\n\n@fragment fn fragment(input: VertexOutput) -> @location(0) vec4f {\n let vUv = vec2f(input.uv.x, 1.0 - input.uv.y);\n\n let texColor = sampleSource(vUv);\n let thickness = max(params.stripe.x, 0.001);\n let spacing = max(params.stripe.y, 0.001);\n let cycle = spacing * params.geometry.z;\n let centered = vec2f(input.position.x, params.geometry.y - input.position.y) - params.geometry.xy * 0.5;\n let s = sin(params.stripe.z);\n let c = cos(params.stripe.z);\n let rotated = vec2f(centered.x * c - centered.y * s, centered.x * s + centered.y * c);\n var axis = select(rotated.x, rotated.y, params.geometry.w == 0.0);\n let waveAxis = select(rotated.y, rotated.x, params.geometry.w == 0.0);\nlet phase = fract(waveAxis / max(params.wave.y, 0.001));\n axis += (1.0 - abs(phase * 2.0 - 1.0) * 2.0) * params.wave.x;\n\n var position = glslModulo(axis + params.stripe.w, cycle);\n if (position < 0.0) { position += cycle; }\n // Snap rounding noise at exact band boundaries before choosing the palette entry.\n var stripeIndex = position / spacing;\n let nearestIndex = floor(stripeIndex + 0.5);\n if (abs(stripeIndex - nearestIndex) < 0.00001) { stripeIndex = nearestIndex; }\n let colorIndex = glslModulo(floor(stripeIndex), params.geometry.z);\n let inStripe = glslModulo(position, spacing);\n if (inStripe > thickness) { return texColor; }\n\n let overlay = paletteColor(colorIndex);\n let premultiplied = overlay.rgb * overlay.a;\n if (params.flags.x != 0.0) {\n return vec4f(premultiplied * texColor.a + texColor.rgb * (1.0 - overlay.a), texColor.a);\n }\n return vec4f(premultiplied + texColor.rgb * (1.0 - overlay.a), overlay.a + texColor.a * (1.0 - overlay.a));\n\n}\n";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ZOOM_BLUR_WEBGPU_SHADER = "\n\nstruct VertexOutput {\n\t@builtin(position) position: vec4f,\n\t@location(0) uv: vec2f,\n}\n\n@vertex fn vertex(@builtin(vertex_index) index: u32) -> VertexOutput {\n\tlet positions = array<vec2f, 3>(vec2f(-1, -1), vec2f(3, -1), vec2f(-1, 3));\n\tlet position = positions[index];\n\tvar output: VertexOutput;\n\toutput.position = vec4f(position, 0, 1);\n\toutput.uv = vec2f(position.x * 0.5 + 0.5, 0.5 - position.y * 0.5);\n\treturn output;\n}\n\n@group(0) @binding(0) var source: texture_2d<f32>;\n@group(0) @binding(1) var sourceSampler: sampler;\n@group(0) @binding(2) var<uniform> params: Params;\nstruct Params { resolutionAndCenter: vec4f, amountAndSamples: vec4f, }\n@fragment fn fragment(input: VertexOutput) -> @location(0) vec4f {\n let resolution = params.resolutionAndCenter.xy;\n let center = vec2f(params.resolutionAndCenter.z, 1.0 - params.resolutionAndCenter.w);\n let direction = input.uv - center;\n let amount = params.amountAndSamples.x / min(resolution.x, resolution.y);\n let samples = i32(params.amountAndSamples.y);\n var color = vec4f(0);\n var total = 0.0;\n for (var i = 0; i < 64; i++) {\n if (i >= samples) { break; }\n let denominator = max(f32(samples - 1), 1.0);\n let progress = f32(i) / denominator;\n let uv = clamp(input.uv - direction * amount * progress, vec2f(0), vec2f(1));\n color += textureSampleLevel(source, sourceSampler, uv, 0);\n total += 1.0;\n }\n return color / total;\n}\n";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/effects",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.540",
|
|
4
4
|
"description": "Effects that can be applied to Remotion-based canvas components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"remotion": "4.0.
|
|
29
|
+
"remotion": "4.0.540"
|
|
30
30
|
},
|
|
31
31
|
"exports": {
|
|
32
32
|
".": {
|
|
@@ -99,6 +99,11 @@
|
|
|
99
99
|
"module": "./dist/esm/contour-lines.mjs",
|
|
100
100
|
"import": "./dist/esm/contour-lines.mjs"
|
|
101
101
|
},
|
|
102
|
+
"./curves": {
|
|
103
|
+
"types": "./dist/curves.d.ts",
|
|
104
|
+
"module": "./dist/esm/curves.mjs",
|
|
105
|
+
"import": "./dist/esm/curves.mjs"
|
|
106
|
+
},
|
|
102
107
|
"./cylinder": {
|
|
103
108
|
"types": "./dist/cylinder.d.ts",
|
|
104
109
|
"module": "./dist/esm/cylinder.mjs",
|
|
@@ -129,6 +134,11 @@
|
|
|
129
134
|
"module": "./dist/esm/exposure.mjs",
|
|
130
135
|
"import": "./dist/esm/exposure.mjs"
|
|
131
136
|
},
|
|
137
|
+
"./film-burn": {
|
|
138
|
+
"types": "./dist/film-burn.d.ts",
|
|
139
|
+
"module": "./dist/esm/film-burn.mjs",
|
|
140
|
+
"import": "./dist/esm/film-burn.mjs"
|
|
141
|
+
},
|
|
132
142
|
"./fisheye": {
|
|
133
143
|
"types": "./dist/fisheye.d.ts",
|
|
134
144
|
"module": "./dist/esm/fisheye.mjs",
|
|
@@ -214,6 +224,11 @@
|
|
|
214
224
|
"module": "./dist/esm/linear-progressive-pixelate.mjs",
|
|
215
225
|
"import": "./dist/esm/linear-progressive-pixelate.mjs"
|
|
216
226
|
},
|
|
227
|
+
"./iris-wipe": {
|
|
228
|
+
"types": "./dist/iris-wipe.d.ts",
|
|
229
|
+
"module": "./dist/esm/iris-wipe.mjs",
|
|
230
|
+
"import": "./dist/esm/iris-wipe.mjs"
|
|
231
|
+
},
|
|
217
232
|
"./lens-blur": {
|
|
218
233
|
"types": "./dist/lens-blur.d.ts",
|
|
219
234
|
"module": "./dist/esm/lens-blur.mjs",
|
|
@@ -299,6 +314,16 @@
|
|
|
299
314
|
"module": "./dist/esm/radial-progressive-pixelate.mjs",
|
|
300
315
|
"import": "./dist/esm/radial-progressive-pixelate.mjs"
|
|
301
316
|
},
|
|
317
|
+
"./radial-wipe": {
|
|
318
|
+
"types": "./dist/radial-wipe.d.ts",
|
|
319
|
+
"module": "./dist/esm/radial-wipe.mjs",
|
|
320
|
+
"import": "./dist/esm/radial-wipe.mjs"
|
|
321
|
+
},
|
|
322
|
+
"./rain-fall": {
|
|
323
|
+
"types": "./dist/rain-fall.d.ts",
|
|
324
|
+
"module": "./dist/esm/rain-fall.mjs",
|
|
325
|
+
"import": "./dist/esm/rain-fall.mjs"
|
|
326
|
+
},
|
|
302
327
|
"./region-blur": {
|
|
303
328
|
"types": "./dist/region-blur.d.ts",
|
|
304
329
|
"module": "./dist/esm/region-blur.mjs",
|
|
@@ -329,6 +354,11 @@
|
|
|
329
354
|
"module": "./dist/esm/shadows-highlights.mjs",
|
|
330
355
|
"import": "./dist/esm/shadows-highlights.mjs"
|
|
331
356
|
},
|
|
357
|
+
"./shatter": {
|
|
358
|
+
"types": "./dist/shatter.d.ts",
|
|
359
|
+
"module": "./dist/esm/shatter.mjs",
|
|
360
|
+
"import": "./dist/esm/shatter.mjs"
|
|
361
|
+
},
|
|
332
362
|
"./shine": {
|
|
333
363
|
"types": "./dist/shine.d.ts",
|
|
334
364
|
"module": "./dist/esm/shine.mjs",
|
|
@@ -349,6 +379,11 @@
|
|
|
349
379
|
"module": "./dist/esm/speckle.mjs",
|
|
350
380
|
"import": "./dist/esm/speckle.mjs"
|
|
351
381
|
},
|
|
382
|
+
"./snow-fall": {
|
|
383
|
+
"types": "./dist/snow-fall.d.ts",
|
|
384
|
+
"module": "./dist/esm/snow-fall.mjs",
|
|
385
|
+
"import": "./dist/esm/snow-fall.mjs"
|
|
386
|
+
},
|
|
352
387
|
"./sphere": {
|
|
353
388
|
"types": "./dist/sphere.d.ts",
|
|
354
389
|
"module": "./dist/esm/sphere.mjs",
|
|
@@ -482,6 +517,9 @@
|
|
|
482
517
|
"contour-lines": [
|
|
483
518
|
"dist/contour-lines.d.ts"
|
|
484
519
|
],
|
|
520
|
+
"curves": [
|
|
521
|
+
"dist/curves.d.ts"
|
|
522
|
+
],
|
|
485
523
|
"cylinder": [
|
|
486
524
|
"dist/cylinder.d.ts"
|
|
487
525
|
],
|
|
@@ -500,6 +538,9 @@
|
|
|
500
538
|
"exposure": [
|
|
501
539
|
"dist/exposure.d.ts"
|
|
502
540
|
],
|
|
541
|
+
"film-burn": [
|
|
542
|
+
"dist/film-burn.d.ts"
|
|
543
|
+
],
|
|
503
544
|
"fisheye": [
|
|
504
545
|
"dist/fisheye.d.ts"
|
|
505
546
|
],
|
|
@@ -551,6 +592,9 @@
|
|
|
551
592
|
"linear-progressive-pixelate": [
|
|
552
593
|
"dist/linear-progressive-pixelate.d.ts"
|
|
553
594
|
],
|
|
595
|
+
"iris-wipe": [
|
|
596
|
+
"dist/iris-wipe.d.ts"
|
|
597
|
+
],
|
|
554
598
|
"lens-blur": [
|
|
555
599
|
"dist/lens-blur.d.ts"
|
|
556
600
|
],
|
|
@@ -602,6 +646,12 @@
|
|
|
602
646
|
"radial-progressive-pixelate": [
|
|
603
647
|
"dist/radial-progressive-pixelate.d.ts"
|
|
604
648
|
],
|
|
649
|
+
"radial-wipe": [
|
|
650
|
+
"dist/radial-wipe.d.ts"
|
|
651
|
+
],
|
|
652
|
+
"rain-fall": [
|
|
653
|
+
"dist/rain-fall.d.ts"
|
|
654
|
+
],
|
|
605
655
|
"region-blur": [
|
|
606
656
|
"dist/region-blur.d.ts"
|
|
607
657
|
],
|
|
@@ -620,6 +670,9 @@
|
|
|
620
670
|
"shadows-highlights": [
|
|
621
671
|
"dist/shadows-highlights.d.ts"
|
|
622
672
|
],
|
|
673
|
+
"shatter": [
|
|
674
|
+
"dist/shatter.d.ts"
|
|
675
|
+
],
|
|
623
676
|
"shine": [
|
|
624
677
|
"dist/shine.d.ts"
|
|
625
678
|
],
|
|
@@ -632,6 +685,9 @@
|
|
|
632
685
|
"speckle": [
|
|
633
686
|
"dist/speckle.d.ts"
|
|
634
687
|
],
|
|
688
|
+
"snow-fall": [
|
|
689
|
+
"dist/snow-fall.d.ts"
|
|
690
|
+
],
|
|
635
691
|
"sphere": [
|
|
636
692
|
"dist/sphere.d.ts"
|
|
637
693
|
],
|
|
@@ -690,7 +746,7 @@
|
|
|
690
746
|
},
|
|
691
747
|
"homepage": "https://www.remotion.dev/docs/effects/api",
|
|
692
748
|
"devDependencies": {
|
|
693
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
749
|
+
"@remotion/eslint-config-internal": "4.0.540",
|
|
694
750
|
"@vitest/browser-playwright": "5.0.3",
|
|
695
751
|
"@webgpu/types": "0.1.74",
|
|
696
752
|
"eslint": "9.19.0",
|