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.
38 lines • 1.82 kB
TypeScript
import { AViewerPlugin, AViewerPluginEventMap, AViewerPluginSync } from '../../viewer/AViewerPlugin';
import { ThreeViewer } from '../../viewer';
import { MaterialExtension, MaterialExtensionShader } from '../../materials';
import { Vector4, WebGLRenderer } from 'three';
import { IMaterial } from '../../core';
import { GBufferUpdater, GBufferUpdaterContext } from '../pipeline/GBufferMaterial';
/**
* Base Screen Pass Extension Plugin
*
* Extend the class to add an extension to {@link ScreenPass} material.
* See {@link TonemapPlugin} and {@link VignettePlugin} for examples.
*
*
* @category Plugins
*/
export declare abstract class AScreenPassExtensionPlugin<TE extends AViewerPluginEventMap = AViewerPluginEventMap> extends AViewerPluginSync<TE> implements MaterialExtension, GBufferUpdater {
['constructor']: (typeof AScreenPassExtensionPlugin) & (typeof AViewerPluginSync) & (typeof AViewerPlugin);
abstract enabled: boolean;
set uniformsNeedUpdate(v: boolean);
constructor(shaderPatch?: string);
/**
* 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;
protected _shaderPatch: string;
shaderExtender(shader: MaterialExtensionShader, _: IMaterial, _1: WebGLRenderer): void;
getUiConfig(): any;
computeCacheKey: (_: IMaterial) => "1" | "0";
isCompatible(_: IMaterial): boolean;
setDirty(): void;
fromJSON(data: any, meta?: any): this | null | Promise<this | null>;
onAdded(viewer: ThreeViewer): void;
onRemove(viewer: ThreeViewer): void;
__setDirty?: () => void;
updateGBufferFlags(_: Vector4, _1: GBufferUpdaterContext): void;
}
//# sourceMappingURL=../../src/plugins/postprocessing/AScreenPassExtensionPlugin.d.ts.map