UNPKG

glsl-pipeline

Version:

Prototype complex pipelines directly from a single shader by branching it into stages using React Three Fiber/React.

63 lines (62 loc) 2.62 kB
import { WebGLRenderTarget, Camera, Scene, Mesh, Clock, Vector2, FloatType, HalfFloatType, UnsignedByteType, WebGLRenderer, ShaderMaterialParameters, Material, PerspectiveCamera, OrthographicCamera } from 'three'; import { Uniform, Buffers, DoubleBuffers, SceneBuffers, GlslPipelineRenderTargets, GlslPipelineClass, Lights } from "../types.js"; declare class GlslPipeline implements GlslPipelineClass { id: string; renderer: WebGLRenderer; defines: { [key: string]: any; }; options: ShaderMaterialParameters; uniforms: Uniform; frag_src: string | null; vert_src: string | null; light: Lights | null; buffers: Array<Buffers>; doubleBuffers: Array<DoubleBuffers>; background: Material | null; material: Material | null; sceneBuffer: SceneBuffers | null; postprocessing: Material | null; billboard_scene: Scene; billboard_camera: Camera; private passThruUniforms; private passThruShader; private dirty; mesh: Mesh; clock: Clock; frame: number; lastTime: number; time: number; resolution: Vector2; floatType: typeof FloatType | typeof HalfFloatType | typeof UnsignedByteType; constructor(renderer: WebGLRenderer, uniforms?: Uniform, options?: ShaderMaterialParameters); getBufferSize(name: string): { width: number; height: number; }; load(frag_src: string, vert_src?: string | null): void; reload(): void; reset(): void; branchMaterial(name: string | Array<string>): any; addBackground(): Material | null; addBuffer(width: number, height: number): Buffers; addDoubleBuffer(width: number, height: number): DoubleBuffers; addPostprocessing(): SceneBuffers; setLight(light: Lights): void; setCubemap(hdrUrl: string, scene: Scene): void; setDefine(name: string, value?: any): void; createRenderTarget(b: GlslPipelineRenderTargets): WebGLRenderTarget<import("three").Texture>; updateUniforms(camera?: PerspectiveCamera | OrthographicCamera | null): void; updateBuffers(): void; renderBackground(): void; getBufferTexture(index: number): import("three").Texture | undefined; getDoubleBufferTexture(index: number): import("three").Texture | undefined; renderBuffer(index: number): void; renderDoubleBuffer(index: number): void; renderMain(): void; renderScene(scene: Scene, camera: PerspectiveCamera | OrthographicCamera): void; renderTarget(material: Material, output: WebGLRenderTarget): void; setSize(width: number, height: number): void; dispose(): void; } export { GlslPipeline };