UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

65 lines (64 loc) 2.52 kB
import { PostProcessRenderEffect } from "../PostProcesses/RenderPipeline/postProcessRenderEffect.js"; import type { PostProcess } from "./postProcess.js"; import { ExtractHighlightsPostProcess } from "./extractHighlightsPostProcess.js"; import type { Camera } from "../Cameras/camera.js"; import type { Scene } from "../scene.js"; import type { AbstractEngine } from "../Engines/abstractEngine.js"; /** * The bloom effect spreads bright areas of an image to simulate artifacts seen in cameras */ export declare class BloomEffect extends PostProcessRenderEffect { /** * @internal Internal */ _effects: Array<PostProcess>; /** * @internal Internal */ _downscale: ExtractHighlightsPostProcess; private _blurX; private _blurY; private _merge; /** * The luminance threshold to find bright areas of the image to bloom. */ get threshold(): number; set threshold(value: number); /** * The strength of the bloom. */ get weight(): number; set weight(value: number); /** * Specifies the size of the bloom blur kernel, relative to the final output size */ get kernel(): number; set kernel(value: number); get bloomScale(): number; private _thinBloomEffect; /** * Creates a new instance of @see BloomEffect * @param sceneOrEngine The scene or engine the effect belongs to. * @param bloomScale The ratio of the blur texture to the input texture that should be used to compute the bloom. * @param bloomWeight The strength of bloom. * @param bloomKernel The size of the kernel to be used when applying the blur. * @param pipelineTextureType The type of texture to be used when performing the post processing. * @param blockCompilation If compilation of the shader should not be done in the constructor. The updateEffect method can be used to compile the shader at a later time. (default: false) */ constructor(sceneOrEngine: Scene | AbstractEngine, bloomScale: number, bloomWeight: number, bloomKernel: number, pipelineTextureType?: number, blockCompilation?: boolean); /** * Disposes each of the internal effects for a given camera. * @param camera The camera to dispose the effect on. */ disposeEffects(camera?: Camera): void; /** * @internal Internal */ _updateEffects(): void; /** * Internal * @returns if all the contained post processes are ready. * @internal */ _isReady(): boolean; }