UNPKG

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.74 kB
import { IMaterial, IMaterialParameters, PhysicalMaterial } from '../../core'; import { BufferGeometry, Camera, Group, NormalMapTypes, Object3D, Scene, ShaderMaterialParameters, Vector4, WebGLRenderer } from 'three'; import { ShaderMaterial2 } from '../../core/material/ShaderMaterial2'; export interface GBufferUpdaterContext { material: IMaterial; renderer: WebGLRenderer; scene: Scene; camera: Camera; geometry: BufferGeometry; object: Object3D; } export interface GBufferUpdater { updateGBufferFlags: (data: Vector4, context: GBufferUpdaterContext) => void; } /** * Renders DepthNormal to a texture and flags to another */ export declare class GBufferMaterial extends ShaderMaterial2 { constructor(multipleRT?: boolean, parameters?: ShaderMaterialParameters & IMaterialParameters); flagUpdaters: Map<string, GBufferUpdater['updateGBufferFlags']>; normalMapType: NormalMapTypes; flatShading: boolean; onBeforeRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, object: Object3D, group: Group): void; protected _updateFlagsUniform(flags: Vector4, material: IMaterial & Partial<PhysicalMaterial>, renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, object: Object3D): void; onAfterRender(renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry, object: Object3D, group: Group): void; reset(): void; } /** * @deprecated use GBufferMaterial instead */ export declare class DepthNormalMaterial extends GBufferMaterial { constructor(multipleRT: boolean, parameters?: ShaderMaterialParameters & IMaterialParameters); } //# sourceMappingURL=../../src/plugins/pipeline/GBufferMaterial.d.ts.map