UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

73 lines (72 loc) 2.52 kB
import { WebGLRenderer } from 'three/src/renderers/WebGLRenderer'; import { WebGLRenderTarget } from 'three/src/renderers/WebGLRenderTarget'; import { ShaderMaterial } from 'three/src/materials/ShaderMaterial'; import { Scene } from 'three/src/scenes/Scene'; import { IUniformN, IUniformTexture, IUniformV2 } from '../../../engine/nodes/utils/code/gl/Uniforms'; import { Vector2 } from 'three/src/math/Vector2'; import { Color } from 'three/src/math/Color'; import { PerspectiveCamera } from 'three/src/cameras/PerspectiveCamera'; import { IUniform } from 'three/src/renderers/shaders/UniformsLib'; import { DepthOfFieldPostNode } from '../../../engine/nodes/post/DepthOfField'; interface BokehUniforms { tColor: IUniformTexture; tDepth: IUniformTexture; textureWidth: IUniformN; textureHeight: IUniformN; fstop: IUniformN; maxblur: IUniformN; threshold: IUniformN; gain: IUniformN; bias: IUniformN; fringe: IUniformN; dithering: IUniformN; focalLength: IUniformN; znear: IUniformN; zfar: IUniformN; focalDepth: IUniformN; noise: IUniformN; pentagon: IUniformN; vignetting: IUniformN; depthblur: IUniformN; shaderFocus: IUniformN; showFocus: IUniformN; manualdof: IUniformN; focusCoords: IUniformV2; [uniform: string]: IUniform; } interface BokehShaderMaterial extends ShaderMaterial { uniforms: BokehUniforms; defines: { RINGS: number; SAMPLES: number; }; } export declare class BokehPass2 { private _depth_of_field_node; private _scene; private _camera; private _resolution; private _core_scene; private materialDepth; private materialDepthInstance; private _camera_uniforms; enabled: boolean; needsSwap: boolean; clear: boolean; renderToScreen: boolean; private _processing_scene; private _processing_camera; private _rtTextureDepth; private _rtTextureColor; bokeh_uniforms: BokehUniforms; bokeh_material: BokehShaderMaterial; private _quad; clear_color: Color; constructor(_depth_of_field_node: DepthOfFieldPostNode, _scene: Scene, _camera: PerspectiveCamera, _resolution: Vector2); setSize(width: number, height: number): void; dispose(): void; private _prev_clear_color; render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void; update_camera_uniforms_with_node(node: DepthOfFieldPostNode, camera: PerspectiveCamera): void; } export {};