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 extends AViewerPluginSync 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; onAdded(viewer: ThreeViewer): void; onRemove(viewer: ThreeViewer): void; __setDirty?: () => void; updateGBufferFlags(_: Vector4, _1: GBufferUpdaterContext): void; } //# sourceMappingURL=../../src/plugins/postprocessing/AScreenPassExtensionPlugin.d.ts.map