@tresjs/post-processing
Version:
Post-processing library for TresJS
1,227 lines (1,226 loc) • 44.3 kB
TypeScript
/**
* name: @tresjs/post-processing
* version: v3.4.0
* (c) 2026
* description: Post-processing library for TresJS
* author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
*/
import * as vue6 from "vue";
import { Reactive, ShallowRef } from "vue";
import * as postprocessing0 from "postprocessing";
import { ASCIIEffect, ASCIITexture, BlendFunction, BloomEffect, BrightnessContrastEffect, ChromaticAberrationEffect, ColorAverageEffect, ColorDepthEffect, DepthCopyMode, DepthOfFieldEffect, DepthPickingPass, DotScreenEffect, EdgeDetectionMode, Effect, EffectComposer, EffectPass, FXAAEffect, GlitchEffect, GlitchMode, GodRaysEffect, GridEffect, HueSaturationEffect, KernelSize, LensDistortionEffect, NoiseEffect, OutlineEffect, PixelationEffect, PredicationMode, SMAAEffect, SMAAPreset, ScanlineEffect, SepiaEffect, ShockWaveEffect, TextureEffect, TiltShiftEffect, ToneMappingEffect, ToneMappingMode, VignetteEffect, VignetteTechnique } from "postprocessing";
import { TresColor } from "@tresjs/core";
import { Color, DepthPackingStrategies, Mesh, Object3D, Points, Texture, Vector2, Vector3, WebGLRenderTarget } from "three";
import { EffectComposer as EffectComposer$1 } from "three/examples/jsm/postprocessing/EffectComposer.js";
import { GlitchPass } from "three/examples/jsm/postprocessing/GlitchPass.js";
import { HalftonePass } from "three/examples/jsm/postprocessing/HalftonePass.js";
import { RenderPixelatedPass } from "three/examples/jsm/postprocessing/RenderPixelatedPass.js";
import { OutputPass } from "three/examples/jsm/postprocessing/OutputPass.js";
import { SMAAPass } from "three/examples/jsm/postprocessing/SMAAPass.js";
import { UnrealBloomPass } from "three/examples/jsm/postprocessing/UnrealBloomPass.js";
import { Pass } from "three/examples/jsm/postprocessing/Pass.js";
import { Blending } from "three/src/constants.js";
//#region src/core/pmndrs/BloomPmndrs.vue.d.ts
interface BloomPmndrsProps {
/**
* The blend function of this effect.
* @default BlendFunction.SCREEN
* @type {BlendFunction}
* @memberof BloomPmndrsProps
*/
blendFunction?: BlendFunction;
/**
* The intensity of the bloom effect.
*
* @default 1
* @type {number}
* @memberof BloomProps
*/
intensity?: number;
/**
* The kernel size.
*
* @default KernelSize.LARGE
*
* @type {KernelSize}
* @memberof BloomPmndrsProps
*/
kernelSize?: KernelSize;
/**
* The luminance threshold. Raise this value to mask out darker elements in the scene. Range is [0, 1].
*
* @default 0.9
*
* @type {number}
* @memberof BloomPmndrsProps
*/
luminanceThreshold?: number;
/**
* Controls the smoothness of the luminance threshold. Range is [0, 1].
*
* @default 0.025
*
* @type {number}
* @memberof BloomPmndrsProps
*/
luminanceSmoothing?: number;
/**
* Enables mip map blur.
*
* @default false
*
* @type {boolean}
* @memberof BloomPmndrsProps
*/
mipmapBlur?: boolean;
}
declare const _default$2: typeof __VLS_export$37;
declare const __VLS_export$37: vue6.DefineComponent<BloomPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<BloomEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<BloomPmndrsProps> & Readonly<{}>, {
mipmapBlur: boolean;
}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/pmndrs/composables/useEffectPmndrs.d.ts
/**
* @param newEffectFunction - A function that returns a new effect instance.
* @param passDependencies - A reactive object that the pass depends on (usually props). Changes to this object will trigger re-rendering.
* @param dependencyFieldsTriggeringRecreation - fields in passDependencies that require effect recreation when changed
*/
declare const useEffectPmndrs: <T extends Effect, D extends Record<PropertyKey, any>>(newEffectFunction: () => T, passDependencies: Reactive<D>, dependencyFieldsTriggeringRecreation?: (keyof D)[]) => {
pass: ShallowRef<EffectPass | null>;
effect: ShallowRef<T | null>;
};
//#endregion
//#region src/core/pmndrs/DepthOfFieldPmndrs.vue.d.ts
interface DepthOfFieldPmndrsProps {
/**
* The blend function of this effect.
*/
blendFunction?: BlendFunction;
/**
* The focus distance in world units.
*/
worldFocusDistance?: number;
/**
* The focus range in world units.
*/
worldFocusRange?: number;
/**
* The normalized focus distance. Range is [0.0, 1.0].
*/
focusDistance?: number;
/**
* The focus range. Range is [0.0, 1.0].
*/
focusRange?: number;
/**
* The scale of the bokeh blur.
*/
bokehScale?: number;
resolutionScale?: number;
resolutionX?: number;
resolutionY?: number;
}
declare const _default$7: typeof __VLS_export$36;
declare const __VLS_export$36: vue6.DefineComponent<DepthOfFieldPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<DepthOfFieldEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<DepthOfFieldPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/pmndrs/EffectComposerPmndrs.vue.d.ts
interface EffectComposerPmndrsProps {
enabled?: boolean;
depthBuffer?: boolean;
disableNormalPass?: boolean;
stencilBuffer?: boolean;
resolutionScale?: number;
autoClear?: boolean;
multisampling?: number;
frameBufferType?: number;
}
declare const _default$11: typeof __VLS_export$35;
declare const __VLS_export$35: __VLS_WithSlots$1<vue6.DefineComponent<EffectComposerPmndrsProps, {
composer: ShallowRef<EffectComposer | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {
render: (...args: any[]) => void;
}, string, vue6.PublicProps, Readonly<EffectComposerPmndrsProps> & Readonly<{
onRender?: ((...args: any[]) => any) | undefined;
}>, {
enabled: boolean;
depthBuffer: boolean;
disableNormalPass: boolean;
stencilBuffer: boolean;
autoClear: boolean;
multisampling: number;
frameBufferType: number;
}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>, {
default?: (props: {}) => any;
}>;
type __VLS_WithSlots$1<T, S> = T & {
new (): {
$slots: S;
};
};
//#endregion
//#region src/core/pmndrs/GlitchPmndrs.vue.d.ts
interface GlitchPmndrsProps {
blendFunction?: BlendFunction;
/**
* The minimum and maximum delay between glitch activations in seconds.
*/
delay?: Vector2;
/**
* The minimum and maximum duration of a glitch in seconds.
*/
duration?: Vector2;
/**
* The strength of weak and strong glitches.
*/
strength?: Vector2;
/**
* The glitch mode. Can be DISABLED | SPORADIC | CONSTANT_MILD | CONSTANT_WILD.
*/
mode?: GlitchMode;
/**
* Turn the effect on and off.
*/
active?: boolean;
/**
*
* The threshold for strong glitches.
*/
ratio?: number;
/**
* The scale of the blocky glitch columns.
*/
columns?: number;
/**
* A chromatic aberration offset. If provided, the glitch effect will influence this offset.
*/
chromaticAberrationOffset?: Vector2;
/**
* A perturbation map. If none is provided, a noise texture will be created.
*/
perturbationMap?: Texture;
/**
* The size of the generated noise map. Will be ignored if a perturbation map is provided.
*/
dtSize?: number;
}
declare const _default$15: typeof __VLS_export$34;
declare const __VLS_export$34: vue6.DefineComponent<GlitchPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<GlitchEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<GlitchPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/pmndrs/NoisePmndrs.vue.d.ts
interface NoisePmndrsProps {
/**
* Whether the noise should be multiplied with the input color.
*/
premultiply?: boolean;
blendFunction?: BlendFunction;
}
declare const _default$23: typeof __VLS_export$33;
declare const __VLS_export$33: vue6.DefineComponent<NoisePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<NoiseEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<NoisePmndrsProps> & Readonly<{}>, {
premultiply: boolean;
}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/pmndrs/OutlinePmndrs.vue.d.ts
interface OutlinePmndrsProps {
/**
* The objects in the scene which should have an outline.
*/
outlinedObjects: Object3D[];
blur?: boolean;
/**
* Whether occluded parts of selected objects should be visible
*/
xRay?: boolean;
/**
* The blur kernel size. Must be used with blur being true.
*/
kernelSize?: KernelSize;
/**
* The pulse speed. A value of zero disables the pulse effect.
*/
pulseSpeed?: number;
resolutionX?: number;
resolutionY?: number;
edgeStrength?: number;
patternScale?: number;
/**
* The number of samples used for multisample antialiasing. Requires WebGL 2.
*/
multisampling?: number;
blendFunction?: BlendFunction;
patternTexture?: Texture;
resolutionScale?: number;
hiddenEdgeColor?: TresColor;
visibleEdgeColor?: TresColor;
}
declare const __VLS_export$32: vue6.DefineComponent<OutlinePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<OutlineEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<OutlinePmndrsProps> & Readonly<{}>, {
blur: boolean;
xRay: boolean;
}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$24: typeof __VLS_export$32;
//#endregion
//#region src/core/pmndrs/PixelationPmndrs.vue.d.ts
interface PixelationPmndrsProps {
/**
* The pixel granularity.
*/
granularity?: number;
}
declare const _default$27: typeof __VLS_export$31;
declare const __VLS_export$31: vue6.DefineComponent<PixelationPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<PixelationEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<PixelationPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/pmndrs/VignettePmndrs.vue.d.ts
interface VignettePmndrsProps {
/**
* Whether the noise should be multiplied with the input color.
*/
technique?: VignetteTechnique;
blendFunction?: BlendFunction;
offset?: number;
darkness?: number;
}
declare const _default$37: typeof __VLS_export$30;
declare const __VLS_export$30: vue6.DefineComponent<VignettePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<VignetteEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<VignettePmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/pmndrs/custom/barrel-blur/index.d.ts
/**
* BarrelBlurEffect - A custom effect for applying a barrel distortion
* with chromatic aberration blur.
*/
declare class BarrelBlurEffect extends Effect {
/**
* Creates a new BarrelBlurEffect instance.
*
* @param {object} [options] - Configuration options for the effect.
* @param {BlendFunction} [options.blendFunction] - Blend mode.
* @param {number} [options.amount] - Intensity of the barrel distortion (0 to 1).
* @param {Vector2} [options.offset] - Offset of the barrel distortion center (0 to 1 for both x and y). This allows you to change the position of the distortion effect.
*
*/
constructor({
blendFunction,
amount,
offset
}?: {
blendFunction?: BlendFunction | undefined;
amount?: number | undefined;
offset?: Vector2 | undefined;
});
/**
* The amount.
*
* @type {number}
*/
get amount(): any;
set amount(value: any);
/**
* The offset.
*
* @type {Vector2}
*/
get offset(): any;
set offset(value: any);
}
//#endregion
//#region src/core/pmndrs/BarrelBlurPmndrs.vue.d.ts
interface BarrelBlurPmndrsProps {
/**
* The blend function for the effect.
* Determines how this effect blends with other effects.
*/
blendFunction?: BlendFunction;
/**
* The intensity of the barrel distortion.
* A value between 0 (no distortion) and 1 (maximum distortion).
*/
amount?: number;
/**
* The offset of the barrel distortion center.
* A Vector2 value or an A value or an array of two numbers, with both values ranging from 0 to 1.
* This allows you to change the position of the distortion effect.
*/
offset?: Vector2 | [number, number];
}
declare const __VLS_export$29: vue6.DefineComponent<BarrelBlurPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<BarrelBlurEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<BarrelBlurPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$1: typeof __VLS_export$29;
//#endregion
//#region src/core/pmndrs/ToneMappingPmndrs.vue.d.ts
interface ToneMappingPmndrsProps {
/**
* The tone mapping mode.
*/
mode?: ToneMappingMode;
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The resolution for luminance texture. The resolution of the luminance texture. Must be a power of two.
*/
resolution?: number;
/**
* The average luminance. Only for `REINHARD2`.
*/
averageLuminance?: number;
/**
* The middle grey factor. Only for `REINHARD2`.
*/
middleGrey?: number;
/**
* The minimum luminance. Only for `REINHARD2`.
*/
minLuminance?: number;
/**
* The white point. Only for `REINHARD2`.
*/
whitePoint?: number;
}
declare const __VLS_export$28: vue6.DefineComponent<ToneMappingPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<ToneMappingEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<ToneMappingPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$35: typeof __VLS_export$28;
//#endregion
//#region src/core/pmndrs/ChromaticAberrationPmndrs.vue.d.ts
interface ChromaticAberrationPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The color offset.
*/
offset?: Vector2;
/**
* Whether the effect should be modulated with a radial gradient.
*/
radialModulation?: boolean;
/**
* The modulation offset, applicable if radial modulation is enabled.
*/
modulationOffset?: number;
}
declare const __VLS_export$27: vue6.DefineComponent<ChromaticAberrationPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<ChromaticAberrationEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<ChromaticAberrationPmndrsProps> & Readonly<{}>, {
radialModulation: boolean;
}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$4: typeof __VLS_export$27;
//#endregion
//#region src/core/pmndrs/HueSaturationPmndrs.vue.d.ts
interface HueSaturationPmndrsProps {
/**
* The saturation adjustment. A value of 0.0 results in grayscale, and 1.0 leaves saturation unchanged.
* Range: [0.0, 1.0]
*/
saturation?: number;
/**
* The hue adjustment in radians.
* Range: [-π, π] (or [0, 2π] for a full rotation)
*/
hue?: number;
/**
* The blend function. Defines how the effect blends with the original scene.
*/
blendFunction?: BlendFunction;
}
declare const __VLS_export$26: vue6.DefineComponent<HueSaturationPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<HueSaturationEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<HueSaturationPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$19: typeof __VLS_export$26;
//#endregion
//#region src/core/pmndrs/ScanlinePmndrs.vue.d.ts
interface ScanlinePmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The density of the scanlines.
*/
density?: number;
/**
* The density of the scanlines.
*/
scrollSpeed?: number;
/**
* The opacity of the scanlines.
*/
opacity?: number;
}
declare const __VLS_export$25: vue6.DefineComponent<ScanlinePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<ScanlineEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<ScanlinePmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$30: typeof __VLS_export$25;
//#endregion
//#region src/core/pmndrs/custom/kuwahara/index.d.ts
declare class KuwaharaEffect extends Effect {
/**
* Creates a new KuwaharaEffect instance.
*
* @param {object} [options] - Configuration options for the effect.
* @param {BlendFunction} [options.blendFunction] - Blend mode.
* @param {number} [options.radius] - Intensity of the effect.
* @param {number} [options.sectorCount] - Number of sectors.
*
*/
constructor({
blendFunction,
radius,
sectorCount
}?: {
blendFunction?: BlendFunction | undefined;
radius?: number | undefined;
sectorCount?: number | undefined;
});
/**
* The radius.
*
* @type {number}
*/
get radius(): any;
set radius(value: any);
/**
* The sector count.
*
* @type {number}
*/
get sectorCount(): any;
set sectorCount(value: any);
}
//#endregion
//#region src/core/pmndrs/KuwaharaPmndrs.vue.d.ts
interface KuwaharaPmndrsProps {
/**
* The blend function for the effect.
* Determines how this effect blends with other effects.
*/
blendFunction?: BlendFunction;
/**
* The intensity of the barrel distortion.
* A value between 0 (no distortion) and 1 (maximum distortion).
*/
radius?: number;
/**
* The number of sectors.
* Determines the number of angular divisions used in the Kuwahara filter.
* Higher values can improve the quality of the effect but may reduce performance.
* The maximum value is defined by MAX_SECTOR_COUNT = 8 in the kuwahara/index.ts file.
* It is preferable that the value is an integer.
*/
sectorCount?: number;
}
declare const __VLS_export$24: vue6.DefineComponent<KuwaharaPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<KuwaharaEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<KuwaharaPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$20: typeof __VLS_export$24;
//#endregion
//#region src/core/pmndrs/ColorAveragePmndrs.vue.d.ts
interface ColorAveragePmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The opacity of the color Average.
*/
opacity?: number;
}
declare const __VLS_export$23: vue6.DefineComponent<ColorAveragePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<ColorAverageEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<ColorAveragePmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$5: typeof __VLS_export$23;
//#endregion
//#region src/core/pmndrs/LensDistortionPmndrs.vue.d.ts
interface LensDistortionPmndrsProps {
/**
* The distortion effect strength.
*/
distortion?: Vector2 | [number, number];
/**
* The center point.
*/
principalPoint?: Vector2 | [number, number];
/**
* The focal length.
*/
focalLength?: Vector2 | [number, number];
/**
* The skew value.
*/
skew?: number;
}
declare const __VLS_export$22: vue6.DefineComponent<LensDistortionPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<LensDistortionEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<LensDistortionPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$21: typeof __VLS_export$22;
//#endregion
//#region src/core/pmndrs/ShockWavePmndrs.vue.d.ts
interface ShockWavePmndrsProps {
/**
* The position of the shockwave.
*/
position?: Vector3 | [number, number, number];
/**
* The amplitude of the shockwave.
*/
amplitude?: number;
/**
* The speed of the shockwave.
*/
speed?: number;
/**
* The max radius of the shockwave.
*/
maxRadius?: number;
/**
* The wave size of the shockwave.
*/
waveSize?: number;
}
declare const __VLS_export$21: vue6.DefineComponent<ShockWavePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<ShockWaveEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<ShockWavePmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$32: typeof __VLS_export$21;
//#endregion
//#region src/core/pmndrs/TiltShiftPmndrs.vue.d.ts
interface TiltShiftPmndrsProps {
/**
* The blend function. Defines how the effect blends with the original scene.
*/
blendFunction?: BlendFunction;
/**
* The relative offset of the focus area.
* Range: [-0.5, 0.5]
*/
offset?: number;
/**
* The rotation of the focus area in radians.
* Range: [-π, π]
*/
rotation?: number;
/**
* The relative size of the focus area.
* Range: [0, 1]
*/
focusArea?: number;
/**
* The softness of the focus area edges.
* Range: [0, 1]
*/
feather?: number;
/**
* The blur kernel size.
*/
kernelSize?: KernelSize;
/**
* The resolution scale.
* Range: [0.1, 1]
*/
resolutionScale?: number;
/**
* The horizontal resolution.
*/
resolutionX?: number;
/**
* The vertical resolution.
*/
resolutionY?: number;
}
declare const __VLS_export$20: vue6.DefineComponent<TiltShiftPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<TiltShiftEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<TiltShiftPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$34: typeof __VLS_export$20;
//#endregion
//#region src/core/pmndrs/DotScreenPmndrs.vue.d.ts
interface DotScreenPmndrsProps {
/**
* The angle of the dot pattern.
* Default: 1.57
*/
angle?: number;
/**
* The scale of the dot pattern.
* Default: 1.0
*/
scale?: number;
/**
* The blend function. Defines how the effect blends with the original scene.
*/
blendFunction?: BlendFunction;
}
declare const __VLS_export$19: vue6.DefineComponent<DotScreenPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<DotScreenEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<DotScreenPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$9: typeof __VLS_export$19;
//#endregion
//#region src/core/pmndrs/SepiaPmndrs.vue.d.ts
interface SepiaPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The intensity of the sepia effect.
*/
intensity?: number;
}
declare const __VLS_export$18: vue6.DefineComponent<SepiaPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<SepiaEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<SepiaPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$31: typeof __VLS_export$18;
//#endregion
//#region src/core/pmndrs/custom/linocut/index.d.ts
/**
* LinocutEffect - A custom effect for applying a linocut shader effect.
*/
declare class LinocutEffect extends Effect {
/**
* Creates a new LinocutEffect instance.
*
* @param {LinocutPmndrsProps} [options] - Configuration options for the effect.
*
*/
constructor({
blendFunction,
scale,
noiseScale,
center,
rotation
}?: {
blendFunction?: BlendFunction | undefined;
scale?: number | undefined;
noiseScale?: number | undefined;
center?: number[] | undefined;
rotation?: number | undefined;
});
get scale(): any;
set scale(value: any);
get noiseScale(): any;
set noiseScale(value: any);
get center(): any;
set center(value: any);
get rotation(): any;
set rotation(value: any);
}
//#endregion
//#region src/core/pmndrs/LinocutPmndrs.vue.d.ts
interface LinocutPmndrsProps {
blendFunction?: BlendFunction;
scale?: number;
noiseScale?: number;
center?: Vector2 | [number, number];
rotation?: number;
}
declare const __VLS_export$17: vue6.DefineComponent<LinocutPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<LinocutEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<LinocutPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$22: typeof __VLS_export$17;
//#endregion
//#region src/core/pmndrs/DepthPickingPassPmndrs.vue.d.ts
interface DepthPickingPassPmndrsProps {
/**
* The depth packing strategy.
* Default: RGBADepthPacking
*/
depthPacking?: DepthPackingStrategies;
/**
* The depth copy mode.
* Default: DepthCopyMode.SINGLE
*/
mode?: DepthCopyMode;
}
declare const __VLS_export$16: vue6.DefineComponent<DepthPickingPassPmndrsProps, {
pass: DepthPickingPass;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<DepthPickingPassPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$8: typeof __VLS_export$16;
//#endregion
//#region src/core/pmndrs/GodRaysPmndrs.vue.d.ts
interface GodRaysPmndrsProps {
/**
* The blend function of this effect.
*/
blendFunction?: BlendFunction;
/**
* The light source. Must not write depth and has to be flagged as transparent.
*/
lightSource?: Mesh | Points | null;
/**
* The opacity of the God Rays.
*/
opacity?: number;
/**
* The density of the light rays.
*/
density?: number;
/**
* The decay of the light rays.
*/
decay?: number;
/**
* The blur kernel size. Has no effect if blur is disabled.
*/
kernelSize?: KernelSize;
/**
* The resolution scale.
*/
resolutionScale?: number;
/**
* Whether the god rays should be blurred to reduce artifacts.
*/
blur?: boolean;
/**
* The horizontal resolution.
*/
resolutionX?: number;
/**
* The vertical resolution.
*/
resolutionY?: number;
/**
* The weight of the light rays.
*/
weight?: number;
/**
* A constant attenuation coefficient.
*/
exposure?: number;
/**
* The number of samples per pixel.
*/
samples?: number;
/**
* An upper bound for the saturation of the overall effect.
*/
clampMax?: number;
}
declare const __VLS_export$15: vue6.DefineComponent<GodRaysPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<GodRaysEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<GodRaysPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$16: typeof __VLS_export$15;
//#endregion
//#region src/core/pmndrs/ColorDepthPmndrs.vue.d.ts
interface ColorDepthPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The color bit depth.
*/
bits?: number;
/**
* The opacity of the effect.
*/
opacity?: number;
}
declare const __VLS_export$14: vue6.DefineComponent<ColorDepthPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<ColorDepthEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<ColorDepthPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$6: typeof __VLS_export$14;
//#endregion
//#region src/core/pmndrs/GridPmndrs.vue.d.ts
interface GridPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The scale.
*/
scale?: number;
/**
* The line width.
*/
lineWidth?: number;
}
declare const __VLS_export$13: vue6.DefineComponent<GridPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<GridEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<GridPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$17: typeof __VLS_export$13;
//#endregion
//#region src/core/pmndrs/custom/fish-eye/index.d.ts
/**
* FishEyeEffect - A custom effect for applying a fish-eye distortion
*/
declare class FishEyeEffect extends Effect {
/**
* Creates a new FishEyeEffect instance.
*
* @param {object} [options] - Configuration options for the effect.
* @param {BlendFunction} [options.blendFunction] - Blend mode.
* @param {Vector2} [options.lensS] - Lens scale.
* @param {Vector2} [options.lensF] - Lens factor.
* @param {number} [options.scale] - Scale.
*
*/
constructor({
blendFunction,
lensS,
lensF,
scale
}?: {
blendFunction?: BlendFunction | undefined;
lensS?: Vector2 | undefined;
lensF?: Vector2 | undefined;
scale?: number | undefined;
});
/**
* The lensS.
*
* @type {Vector2}
*/
get lensS(): any;
set lensS(value: any);
/**
* The lensF.
*
* @type {Vector2}
*/
get lensF(): any;
set lensF(value: any);
/**
* The scale.
*
* @type {number}
*/
get scale(): any;
set scale(value: any);
}
//#endregion
//#region src/core/pmndrs/FishEyePmndrs.vue.d.ts
interface FishEyePmndrsProps {
/**
* The blend function for the effect.
* Determines how this effect blends with other effects.
*/
blendFunction?: BlendFunction;
/**
* The lens scale.
* A Vector2 value or an array of two numbers.
*/
lensS?: Vector2 | [number, number];
/**
* The lens factor.
* A Vector2 value or an array of two numbers.
*/
lensF?: Vector2 | [number, number];
/**
* The scale of the effect.
* A number value.
*/
scale?: number;
}
declare const __VLS_export$12: vue6.DefineComponent<FishEyePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<FishEyeEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<FishEyePmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$13: typeof __VLS_export$12;
//#endregion
//#region src/core/pmndrs/BrightnessContrastPmndrs.vue.d.ts
interface BrightnessContrastPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The brightness of the effect.
*/
brightness?: number;
/**
* The contrast of the effect.
*/
contrast?: number;
}
declare const __VLS_export$11: vue6.DefineComponent<BrightnessContrastPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<BrightnessContrastEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<BrightnessContrastPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$3: typeof __VLS_export$11;
//#endregion
//#region src/core/pmndrs/SMAAPmndrs.vue.d.ts
declare const DEBUG_MODE: {
readonly OFF: 0;
readonly EDGES: 1;
readonly WEIGHTS: 2;
};
interface SMAAPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The opacity of the effect.
*/
opacity?: number;
/**
* The preset configuration for SMAA (Subpixel Morphological Antialiasing).
*/
preset?: SMAAPreset;
/**
* The mode used for edge detection.
*/
edgeDetectionMode?: EdgeDetectionMode;
/**
* The mode used for predication to improve edge detection.
*/
predicationMode?: PredicationMode;
/**
* The debug mode for visualizing the effect.
*
* OPTIONS:
* - 0: OFF
* - 1: EDGES
* - 2: WEIGHTS
*/
debug?: typeof DEBUG_MODE[keyof typeof DEBUG_MODE];
}
declare const _default$29: typeof __VLS_export$10;
declare const __VLS_export$10: vue6.DefineComponent<SMAAPmndrsProps, {
pass: vue6.ShallowRef<EffectPass | null>;
effect: vue6.ShallowRef<SMAAEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<SMAAPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/pmndrs/FXAAPmndrs.vue.d.ts
interface FXAAPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The opacity of the effect.
*/
opacity?: number;
/**
* The maximum amount of edge detection samples.
*/
samples?: number;
/**
* The minimum edge detection threshold. Range is [0.0, 1.0].
*/
minEdgeThreshold?: number;
/**
* The maximum edge detection threshold. Range is [0.0, 1.0].
*/
maxEdgeThreshold?: number;
/**
* The subpixel blend quality. Range is [0.0, 1.0].
*/
subpixelQuality?: number;
}
declare const __VLS_export$9: vue6.DefineComponent<FXAAPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<FXAAEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<FXAAPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$12: typeof __VLS_export$9;
//#endregion
//#region src/core/pmndrs/TexturePmndrs.vue.d.ts
interface TexturePmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The texture.
*/
texture?: Texture;
/**
* The opacity of the effect.
*/
opacity?: number;
}
declare const __VLS_export$8: vue6.DefineComponent<TexturePmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<TextureEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<TexturePmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default$33: typeof __VLS_export$8;
//#endregion
//#region src/core/pmndrs/ASCIIPmndrs.vue.d.ts
type ASCIITextureOptions = ConstructorParameters<typeof ASCIITexture>[0];
interface ASCIIPmndrsProps {
/**
* The blend function.
*/
blendFunction?: BlendFunction;
/**
* The opacity of the effect.
*/
opacity?: number;
/**
* The cell size.
*/
cellSize?: number;
/**
* Controls whether the effect should be inverted.
*/
inverted?: boolean;
/**
* The color of the effect.
*/
color?: Color | string | number | null;
/**
* Controls whether the effect should use the scene color.
* If `true`, it overrides the `color` props.
*/
useSceneColor?: boolean;
/**
* The ASCII texture options to use for creating an ASCIITexture instance.
* https://pmndrs.github.io/postprocessing/public/docs/class/src/textures/ASCIITexture.js~ASCIITexture.html
*/
asciiTexture?: ASCIITextureOptions;
}
declare const __VLS_export$7: vue6.DefineComponent<ASCIIPmndrsProps, {
pass: vue6.ShallowRef<postprocessing0.EffectPass | null>;
effect: vue6.ShallowRef<ASCIIEffect | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<ASCIIPmndrsProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
declare const _default: typeof __VLS_export$7;
//#endregion
//#region src/core/three/composables/useEffect.d.ts
/**
* @param newPassFunction - A function that returns a new pass instance.
* @param passDependencies - A reactive object that the pass depends on (usually props). Changes to this object will trigger re-rendering.
* @param dependencyFieldsTriggeringRecreation - fields in passDependencies that require effect recreation when changed
*/
declare const useEffect: <T extends Pass, D extends Record<PropertyKey, any>>(newPassFunction: () => T, passDependencies?: Reactive<D>, dependencyFieldsTriggeringRecreation?: (keyof D)[]) => {
pass: ShallowRef<T>;
};
//#endregion
//#region src/core/three/EffectComposer.vue.d.ts
interface EffectComposerProps {
enabled?: boolean;
renderTarget?: WebGLRenderTarget;
withoutRenderPass?: boolean;
}
declare const _default$10: typeof __VLS_export$6;
declare const __VLS_export$6: __VLS_WithSlots<vue6.DefineComponent<EffectComposerProps, {
composer: ShallowRef<EffectComposer$1 | null>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<EffectComposerProps> & Readonly<{}>, {
enabled: boolean;
}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>, {
default?: (props: {}) => any;
}>;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};
//#endregion
//#region src/core/three/Glitch.vue.d.ts
interface GlitchProps {
/**
* The size of the generated noise map
*/
dtSize?: number;
/**
* If true, the glitch effect will be more wild 🤪
*/
goWild?: boolean;
}
declare const _default$14: typeof __VLS_export$5;
declare const __VLS_export$5: vue6.DefineComponent<GlitchProps, {
pass: vue6.ShallowRef<GlitchPass>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<GlitchProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/three/Halftone.vue.d.ts
declare enum HalftoneShape {
Dot = 1,
Ellipse = 2,
Line = 3,
Square = 4,
}
interface HalftoneProps {
shape?: HalftoneShape;
radius?: number;
rotateR?: number;
rotateG?: number;
rotateB?: number;
scatter?: number;
blending?: number;
greyscale?: boolean;
blendingMode?: Blending;
}
declare const _default$18: typeof __VLS_export$4;
declare const __VLS_export$4: vue6.DefineComponent<HalftoneProps, {
pass: vue6.ShallowRef<HalftonePass>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<HalftoneProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/three/Pixelation.vue.d.ts
interface PixelationProps {
pixelSize: number;
depthEdgeStrength?: number;
normalEdgeStrength?: number;
}
declare const _default$26: typeof __VLS_export$3;
declare const __VLS_export$3: vue6.DefineComponent<PixelationProps, {
pass: vue6.ShallowRef<RenderPixelatedPass>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<PixelationProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/three/Output.vue.d.ts
declare const __VLS_export$2: vue6.DefineComponent<{}, {
pass: vue6.ShallowRef<OutputPass>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, true, {}, any>;
declare const _default$25: typeof __VLS_export$2;
//#endregion
//#region src/core/three/SMAA.vue.d.ts
interface SMAAProps {
width?: number;
height?: number;
}
declare const _default$28: typeof __VLS_export$1;
declare const __VLS_export$1: vue6.DefineComponent<SMAAProps, {
pass: vue6.ShallowRef<SMAAPass>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<SMAAProps> & Readonly<{}>, {}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
//#region src/core/three/UnrealBloom.vue.d.ts
interface UnrealBloomProps {
radius?: number;
strength?: number;
threshold?: number;
}
declare const _default$36: typeof __VLS_export;
declare const __VLS_export: vue6.DefineComponent<UnrealBloomProps, {
pass: vue6.ShallowRef<UnrealBloomPass>;
}, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {}, string, vue6.PublicProps, Readonly<UnrealBloomProps> & Readonly<{}>, {
strength: number;
radius: number;
threshold: number;
}, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
//#endregion
export { _default as ASCIIPmndrs, ASCIIPmndrsProps, _default$1 as BarrelBlurPmndrs, BarrelBlurPmndrsProps, _default$2 as BloomPmndrs, BloomPmndrsProps, _default$3 as BrightnessContrastPmndrs, BrightnessContrastPmndrsProps, _default$4 as ChromaticAberrationPmndrs, ChromaticAberrationPmndrsProps, _default$5 as ColorAveragePmndrs, ColorAveragePmndrsProps, _default$6 as ColorDepthPmndrs, ColorDepthPmndrsProps, _default$7 as DepthOfFieldPmndrs, DepthOfFieldPmndrsProps, _default$8 as DepthPickingPassPmndrs, DepthPickingPassPmndrsProps, _default$9 as DotScreenPmndrs, DotScreenPmndrsProps, _default$10 as EffectComposer, _default$11 as EffectComposerPmndrs, EffectComposerPmndrsProps, EffectComposerProps, _default$12 as FXAAPmndrs, FXAAPmndrsProps, _default$13 as FishEyePmndrs, FishEyePmndrsProps, _default$14 as Glitch, _default$15 as GlitchPmndrs, GlitchPmndrsProps, GlitchProps, _default$16 as GodRaysPmndrs, GodRaysPmndrsProps, _default$17 as GridPmndrs, GridPmndrsProps, _default$18 as Halftone, HalftoneProps, _default$19 as HueSaturationPmndrs, HueSaturationPmndrsProps, _default$20 as KuwaharaPmndrs, KuwaharaPmndrsProps, _default$21 as LensDistortionPmndrs, LensDistortionPmndrsProps, _default$22 as LinocutPmndrs, LinocutPmndrsProps, _default$23 as NoisePmndrs, NoisePmndrsProps, _default$24 as OutlinePmndrs, OutlinePmndrsProps, _default$25 as Output, _default$26 as Pixelation, _default$27 as PixelationPmndrs, PixelationPmndrsProps, PixelationProps, _default$28 as SMAA, _default$29 as SMAAPmndrs, SMAAPmndrsProps, SMAAProps, _default$30 as ScanlinePmndrs, ScanlinePmndrsProps, _default$31 as SepiaPmndrs, SepiaPmndrsProps, _default$32 as ShockWavePmndrs, ShockWavePmndrsProps, _default$33 as TexturePmndrs, TexturePmndrsProps, _default$34 as TiltShiftPmndrs, TiltShiftPmndrsProps, _default$35 as ToneMappingPmndrs, ToneMappingPmndrsProps, _default$36 as UnrealBloom, UnrealBloomProps, _default$37 as VignettePmndrs, VignettePmndrsProps, useEffect, useEffectPmndrs };