threepipe
Version:
A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.
51 lines • 1.95 kB
TypeScript
import { Object3D, ToneMapping, Vector4, WebGLRenderer } from 'three';
import { IMaterial } from '../../core';
import { AScreenPassExtensionPlugin } from './AScreenPassExtensionPlugin';
import { GBufferUpdaterContext } from '../pipeline/GBufferMaterial';
export declare const Uncharted2Tonemapping: ToneMapping;
/**
* Tonemap Plugin
*
* Adds an extension to {@link ScreenPass} material
* for applying tonemapping on the final buffer before rendering to screen.
*
* Also adds support for Uncharted2 tone-mapping.
* @category Plugins
*/
export declare class TonemapPlugin extends AScreenPassExtensionPlugin {
static readonly PluginType = "Tonemap";
readonly extraUniforms: {
readonly toneMappingContrast: {
readonly value: 1;
};
readonly toneMappingSaturation: {
readonly value: 1;
};
};
readonly extraDefines: {
readonly TONEMAP_BACKGROUND: () => "1" | "0";
};
enabled: boolean;
toneMapping: ToneMapping;
/**
* Global toggle to apply tonemapping on the background.
* The tonemapping is not applied if either this or {@link RootScene.backgroundTonemap} is false.
*/
tonemapBackground: boolean;
exposure: number;
saturation: number;
contrast: number;
/**
* The priority of the material extension when applied to the material in ScreenPass
* set to very low priority, so applied at the end
*/
priority: number;
parsFragmentSnippet: () => string;
protected _shaderPatch: string;
private _rendererState;
onObjectRender(_: Object3D, material: IMaterial, renderer: WebGLRenderer): void;
onAfterRender(_: Object3D, _1: IMaterial, renderer: WebGLRenderer): void;
fromJSON(data: any, meta?: any): this | null | Promise<this | null>;
updateGBufferFlags(data: Vector4, c: GBufferUpdaterContext): void;
}
//# sourceMappingURL=../../src/plugins/postprocessing/TonemapPlugin.d.ts.map