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.

53 lines (52 loc) 1.74 kB
import { type AbstractEngine } from "../Engines/abstractEngine.js"; import { type Nullable } from "../types.js"; import { ShaderLanguage } from "../Materials/shaderLanguage.js"; import { BaseTexture } from "../Materials/Textures/baseTexture.js"; /** * Class used for fast copy from one texture to another */ export declare class AreaLightTextureTools { private _engine; private _renderer; private _effectWrapper; private _source; private _scalingRange; private _kernelLibrary; private readonly _blurSize; private readonly _alphaFactor; /** Shader language used */ protected _shaderLanguage: ShaderLanguage; /** * Gets the shader language */ get shaderLanguage(): ShaderLanguage; private _textureIsInternal; /** * Constructs a new instance of the class * @param engine The engine to use for the copy */ constructor(engine: AbstractEngine); private _shadersLoaded; private _createEffect; /** * Indicates if the effect is ready to be used for the copy * @returns true if "copy" can be called without delay, else false */ isReady(): boolean; /** * Pre-processes the texture to be used with RectAreaLight emissionTexture. * @param source The texture to pre-process * @returns A promise that resolves with the pre-processed texture */ processAsync(source: BaseTexture): Promise<Nullable<BaseTexture>>; private _scaleImageDownAsync; private _generateGaussianKernel; private _mirrorIndex; private _applyGaussianBlurRange; private _transposeImage; private _applyProgressiveBlurAsync; /** * Releases all the resources used by the class */ dispose(): void; }