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