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.
47 lines • 1.73 kB
TypeScript
import { Object3D, ToneMapping, Vector4, WebGLRenderer } from 'three';
import { IMaterial } from '../../core';
import { AScreenPassExtensionPlugin } from './AScreenPassExtensionPlugin';
import { GBufferUpdaterContext } from '../pipeline/GBufferPlugin';
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";
};
enabled: boolean;
toneMapping: ToneMapping;
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=TonemapPlugin.d.ts.map