import { AdaptiveLuminancePass, BlendFunction, Effect, LuminancePass, ToneMappingMode } from "postprocessing"; import { WebGLRenderer, WebGLRenderTarget } from "three"; /** * A tone mapping effect. * * Note: `ToneMappingMode.REINHARD2_ADAPTIVE` requires support for `EXT_shader_texture_lod`. * * Reference: * GDC2007 - Wolfgang Engel, Post-Processing Pipeline * http://perso.univ-lyon1.fr/jean-claude.iehl/Public/educ/GAMA/2007/gdc07/Post-Processing_Pipeline.pdf */ export declare class ToneMappingEffect extends Effect { adaptiveLuminancePass: AdaptiveLuminancePass; luminancePass: LuminancePass; renderTargetLuminance: WebGLRenderTarget; /** * Constructs a new tone mapping effect. * * The additional parameters only affect the Reinhard2 operator. * * @param {Object} [options] - The options. * @param {BlendFunction} [options.blendFunction=BlendFunction.SRC] - The blend function of this effect. * @param {boolean} [options.adaptive=false] - Deprecated. Use mode instead. * @param {ToneMappingMode} [options.mode=ToneMappingMode.AGX] - The tone mapping mode. * @param {number} [options.resolution=256] - The resolution of the luminance texture. Must be a power of two. * @param {number} [options.maxLuminance=4.0] - Deprecated. Same as whitePoint. * @param {number} [options.whitePoint=4.0] - The white point. * @param {number} [options.middleGrey=0.6] - The middle grey factor. * @param {number} [options.minLuminance=0.01] - The minimum luminance. Prevents very high exposure in dark scenes. * @param {number} [options.averageLuminance=1.0] - The average luminance. Used for the non-adaptive Reinhard operator. * @param {number} [options.adaptationRate=1.0] - The luminance adaptation rate. */ constructor({ blendFunction, adaptive, mode, resolution, maxLuminance, whitePoint, middleGrey, minLuminance, averageLuminance, adaptationRate, }?: { blendFunction?: BlendFunction; adaptive?: boolean; mode?: ToneMappingMode; resolution?: number; maxLuminance?: number; whitePoint?: number; middleGrey?: number; minLuminance?: number; averageLuminance?: number; adaptationRate?: number; }); /** * The luminance adaptation rate. * * @type {number} * @deprecated Use adaptiveLuminanceMaterial.adaptationRate instead. */ get adaptationRate(): any; set adaptationRate(value: any); /** * Indicates whether this pass uses adaptive luminance. * * @type {boolean} * @deprecated Use mode instead. */ get adaptive(): boolean; set adaptive(value: boolean); /** * The adaptive luminance material. * * @type {AdaptiveLuminanceMaterial} */ get adaptiveLuminanceMaterial(): import("three").Material; /** * The average luminance. * * Only applies to Reinhard2 (Modified). * * @type {number} */ get averageLuminance(): any; set averageLuminance(value: any); /** * @type {number} * @deprecated */ get distinction(): number; set distinction(value: number); /** * The middle grey factor. Default is `0.6`. * * Only applies to Reinhard2 (Modified & Adaptive). * * @type {number} */ get middleGrey(): any; set middleGrey(value: any); /** * The tone mapping mode. * * @type {ToneMappingMode} */ get mode(): number; set mode(value: number); /** * The resolution of the luminance texture. Must be a power of two. * * @type {number} */ get resolution(): number; set resolution(value: number); /** * The white point. Default is `4.0`. * * Only applies to Reinhard2 (Modified & Adaptive). * * @type {number} */ get whitePoint(): any; set whitePoint(value: any); /** * Returns the adaptive luminance material. * * @deprecated Use adaptiveLuminanceMaterial instead. * @return {AdaptiveLuminanceMaterial} The material. */ getAdaptiveLuminanceMaterial(): import("three").Material; /** * Returns the current tone mapping mode. * * @deprecated Use mode instead. * @return {ToneMappingMode} The tone mapping mode. */ getMode(): number; /** * Returns the resolution of the luminance texture. * * @deprecated Use resolution instead. * @return {number} The resolution. */ getResolution(): number; /** * Performs initialization tasks. * * @param {WebGLRenderer} renderer - The renderer. * @param {boolean} alpha - Whether the renderer uses the alpha channel or not. * @param {number} frameBufferType - The type of the main frame buffers. */ initialize(renderer: WebGLRenderer, alpha: boolean, frameBufferType: number): void; /** * Sets the tone mapping mode. * * @deprecated Use mode instead. * @param {ToneMappingMode} value - The tone mapping mode. */ setMode(value: ToneMappingMode): void; /** * Sets the resolution of the luminance texture. Must be a power of two. * * @deprecated Use resolution instead. * @param {number} value - The resolution. */ setResolution(value: number): void; /** * Updates this effect. * * @param {WebGLRenderer} renderer - The renderer. * @param {WebGLRenderTarget} inputBuffer - A frame buffer that contains the result of the previous pass. * @param {number} [deltaTime] - The time between the last frame and the current one in seconds. */ update(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, deltaTime: number): void; } //# sourceMappingURL=ToneMappingEffect.d.ts.map