@luma.gl/effects
Version:
Post-processing effects for luma.gl
33 lines • 1.6 kB
TypeScript
/**
* Noise - Adds black and white noise to the image.
*/
export type NoiseProps = {
/** 0 to 1 (0 for no effect, 1 for maximum noise) */
amount?: number;
};
export type NoiseUniforms = NoiseProps;
/**
* Noise
* Adds black and white noise to the image.
*/
export declare const noise: {
readonly name: "noise";
readonly fs: "uniform noiseUniforms {\n float amount;\n} noise;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);\n}\n\nvec4 noise_filterColor_ext(vec4 color, vec2 texSize, vec2 texCoord) {\n float diff = (rand(texCoord) - 0.5) * noise.amount;\n color.r += diff;\n color.g += diff;\n color.b += diff;\n return color;\n}\n";
readonly source: "struct noiseUniforms {\n amount: f32\n};\n\n@group(0) @binding(1) var<uniform> noise: noiseUniforms;\n\nfn rand(co: vec2f) -> f32 {\n\treturn fract(sin(dot(co.xy, vec2f(12.9898, 78.233))) * 43758.547);\n} \n\nfn noise_filterColor_ext(color: vec4f, texSize: vec2f, texCoord: vec2f) -> vec4f {\n\tlet diff: f32 = (rand(texCoord) - 0.5) * noise.amount;\n\tcolor.r = color.r + (diff);\n\tcolor.g = color.g + (diff);\n\tcolor.b = color.b + (diff);\n\treturn color;\n} \n";
readonly props: NoiseProps;
readonly uniforms: NoiseUniforms;
readonly uniformTypes: {
readonly amount: "f32";
};
readonly propTypes: {
readonly amount: {
readonly value: 0.5;
readonly min: 0;
readonly max: 1;
};
};
readonly passes: [{
readonly filter: true;
}];
};
//# sourceMappingURL=noise.d.ts.map