UNPKG

threepipe

Version:

A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.

38 lines 1.7 kB
import { type AViewerPlugin, AViewerPluginSync } from '../../viewer/AViewerPlugin'; import type { ThreeViewer } from '../../viewer'; import { MaterialExtension } from '../../materials'; import { Shader, Vector4, WebGLRenderer } from 'three'; import { IMaterial } from '../../core'; import { GBufferUpdater, GBufferUpdaterContext } from '../pipeline/GBufferPlugin'; /** * 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<T extends string> extends AViewerPluginSync<T> 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: Shader, _: IMaterial, _1: WebGLRenderer): void; getUiConfig(): any; computeCacheKey: (_: IMaterial) => "0" | "1"; 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=AScreenPassExtensionPlugin.d.ts.map