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.
32 lines • 1.61 kB
TypeScript
import { DepthPackingStrategies, MeshDepthMaterial, Texture, TextureDataType, WebGLRenderTarget } from 'three';
import { GBufferRenderPass } from '../../postprocessing';
import { ThreeViewer } from '../../viewer';
import { MaterialExtension } from '../../materials';
import { PipelinePassPlugin } from '../base/PipelinePassPlugin';
export type DepthBufferPluginTarget = WebGLRenderTarget;
export type DepthBufferPluginPass = GBufferRenderPass<'depth', DepthBufferPluginTarget | undefined>;
/**
* Depth Buffer Plugin
*
* Adds a pre-render pass to render the depth buffer to a render target that can be used as gbuffer or for postprocessing.
* @category Plugins
*/
export declare class DepthBufferPlugin extends PipelinePassPlugin<DepthBufferPluginPass, 'depth'> {
readonly passId = "depth";
static readonly PluginType = "DepthBufferPlugin";
target?: DepthBufferPluginTarget;
texture?: Texture;
readonly material: MeshDepthMaterial;
depthPacking: DepthPackingStrategies;
readonly bufferType: TextureDataType;
readonly isPrimaryGBuffer: boolean;
protected _depthPackingChanged(): void;
unpackExtension: MaterialExtension;
private _isPrimaryGBufferSet;
protected _createTarget(recreate?: boolean): void;
protected _disposeTarget(): void;
protected _createPass(): GBufferRenderPass<"depth", DepthBufferPluginTarget | undefined>;
constructor(bufferType?: TextureDataType, isPrimaryGBuffer?: boolean, enabled?: boolean, depthPacking?: DepthPackingStrategies);
onRemove(viewer: ThreeViewer): void;
}
//# sourceMappingURL=DepthBufferPlugin.d.ts.map