@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
TypeScript
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;
}