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.
34 lines • 1.73 kB
TypeScript
import { Color, Material, WebGLRenderTarget } from 'three';
import { RenderPass } from 'three/examples/jsm/postprocessing/RenderPass.js';
import { IPassID, IPipelinePass } from './Pass';
import { ICamera, IMaterial, IObject3D, IRenderManager, IScene, IWebGLRenderer } from '../core';
import { UiObjectConfig } from 'uiconfig.js';
import { ValOrFunc } from 'ts-browser-helpers';
export declare class GBufferRenderPass<TP extends IPassID = IPassID, T extends WebGLRenderTarget | undefined = WebGLRenderTarget> extends RenderPass implements IPipelinePass<TP> {
readonly passId: TP;
target: ValOrFunc<T>;
readonly isGBufferRenderPass = true;
uiConfig: UiObjectConfig;
enabled: boolean;
scene?: IScene;
before?: IPassID[];
after?: IPassID[];
required?: IPassID[];
constructor(passId: TP, target: ValOrFunc<T>, material: Material, clearColor?: Color, clearAlpha?: number);
private _transparentMats;
private _transmissiveMats;
preprocessMaterial: (material: IMaterial, renderToGBuffer?: boolean) => void;
preprocessObject: (object: IObject3D) => IMaterial<import('../core').IMaterialEventMap> | IMaterial<import('../core').IMaterialEventMap>[] | undefined;
postprocessObject: (object: IObject3D) => void;
/**
* Renders to {@link target}
* @param renderer
* @param _ - this is ignored
* @param _1 - this is ignored
* @param deltaTime
* @param maskActive
*/
render(renderer: IWebGLRenderer, _?: WebGLRenderTarget | null, _1?: WebGLRenderTarget, deltaTime?: number, maskActive?: boolean): void;
beforeRender(scene: IScene, camera: ICamera, _: IRenderManager): void;
}
//# sourceMappingURL=../src/postprocessing/GBufferRenderPass.d.ts.map