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.82 kB
TypeScript
import { BufferGeometry, Camera, Group, MeshNormalMaterial, MeshNormalMaterialParameters, Object3D, Scene, Texture, TextureDataType, WebGLRenderer, WebGLRenderTarget } from 'three';
import { GBufferRenderPass } from '../../postprocessing';
import { ThreeViewer } from '../../viewer';
import { PipelinePassPlugin } from '../base/PipelinePassPlugin';
export type NormalBufferPluginTarget = WebGLRenderTarget;
export type NormalBufferPluginPass = GBufferRenderPass<'normal', NormalBufferPluginTarget | undefined>;
/**
* Normal Buffer Plugin
*
* Adds a pre-render pass to render the normal buffer to a render target that can be used for postprocessing.
* @category Plugins
*/
export declare class NormalBufferPlugin extends PipelinePassPlugin<NormalBufferPluginPass, 'normal'> {
readonly passId = "normal";
static readonly PluginType = "NormalBufferPlugin";
target?: NormalBufferPluginTarget;
texture?: Texture;
readonly material: MeshNormalMaterial;
readonly bufferType: TextureDataType;
protected _createTarget(recreate?: boolean): void;
protected _disposeTarget(): void;
protected _createPass(): GBufferRenderPass<"normal", NormalBufferPluginTarget | undefined>;
constructor(bufferType?: TextureDataType, enabled?: boolean);
onRemove(viewer: ThreeViewer): void;
}
export declare class MeshNormalMaterialOverride extends MeshNormalMaterial {
constructor(parameters: MeshNormalMaterialParameters);
onBeforeRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, object: Object3D, group: Group): void;
onAfterRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, object: Object3D, group: Group): void;
reset(): void;
}
//# sourceMappingURL=../../src/plugins/pipeline/NormalBufferPlugin.d.ts.map