UNPKG

@threepipe/webgi-plugins

Version:

WebGi - Realistic Rendering Plugins for ThreePipe.

54 lines 2.72 kB
import { Camera, ExtendedShaderPass, GBufferPlugin, ICamera, IPassID, IPipelinePass, IRenderManager, IScene, IWebGLRenderer, PipelinePassPlugin, ProgressivePlugin, ThreeViewer, UiObjectConfig, ValOrFunc, Vector2, WebGLMultipleRenderTargets, WebGLRenderTarget } from 'threepipe'; declare const passId = "taa"; type TemporalAAPassId = typeof passId; /** * Temporal Anti-Aliasing Plugin * * This plugin uses a temporal anti-aliasing pass to smooth out the final image when the camera or some mesh is moving * @category Plugins */ export declare class TemporalAAPlugin extends PipelinePassPlugin<TemporalAAPluginPass<TemporalAAPassId>, TemporalAAPassId> { static readonly PluginType = "TAA"; static readonly OldPluginType = "TemporalAAPlugin"; readonly passId = "taa"; constructor(enabled?: boolean); private _stableNoise; /** * Same as BaseRenderer.stableNoise Use total frame count, if this is set to true, then frameCount won't be reset when the viewer is set to dirty. * Which will generate different random numbers for each frame during postprocessing steps. With TAA set properly, this will give a smoother result. */ get stableNoise(): boolean; set stableNoise(v: boolean); protected _pass?: TemporalAAPluginPass<TemporalAAPassId>; private _gbufferUnpackExtension; private _gbufferUnpackExtensionChanged; protected _createPass(): TemporalAAPluginPass<"taa">; dependencies: (typeof ProgressivePlugin | typeof GBufferPlugin)[]; onAdded(viewer: ThreeViewer): void; onRemove(viewer: ThreeViewer): void; uiConfig: UiObjectConfig; protected _beforeRender(scene: IScene, camera: ICamera, renderManager: IRenderManager): boolean; } export declare class TemporalAAPluginPass<Tid extends IPassID> extends ExtendedShaderPass implements IPipelinePass<Tid> { before: string[]; after: never[]; required: string[]; target: ValOrFunc<WebGLRenderTarget | undefined>; readonly passId: Tid; constructor(pid: Tid, target: ValOrFunc<WebGLRenderTarget | undefined>, applyOnBackground?: boolean); /** * to switch with ssaa, for internal use only, dont set from outside */ taaEnabled: boolean; render(renderer: IWebGLRenderer, writeBuffer?: WebGLMultipleRenderTargets | WebGLRenderTarget | null, readBuffer?: WebGLMultipleRenderTargets | WebGLRenderTarget, deltaTime?: number, maskActive?: boolean): void; updateCameraProperties(camera?: Camera): void; onSizeUpdate(): void; setSize(width: number, height: number): void; feedBack: Vector2; debugVelocity: boolean; uiConfig: UiObjectConfig; } declare module 'threepipe' { } export {}; //# sourceMappingURL=TemporalAAPlugin.d.ts.map