@threepipe/webgi-plugins
Version:
WebGi - Realistic Rendering Plugins for ThreePipe.
54 lines • 2.72 kB
TypeScript
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