UNPKG

@polygonjs/polygonjs

Version:

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

46 lines (45 loc) 2.2 kB
import { GodRaysVolumetricAcceptedLightType } from './utils/AcceptedLightType'; import { DepthPackingStrategies, Texture, PerspectiveCamera, WebGLRenderer, WebGLRenderTarget } from 'three'; import { Disposable, Pass } from 'postprocessing'; import { GodraysPassParams } from './utils/GodRaysPassParams'; export declare class GodraysPass extends Pass implements Disposable { private props; private godraysRenderTarget; private illumPass; private compositorPass; /** * Constructs a new GodraysPass. Casts godrays from a point light source. Add to your scene's composer like this: * * ```ts * import { EffectComposer, RenderPass } from 'postprocessing'; * import { GodraysPass } from 'three-good-godrays'; * * const composer = new EffectComposer(renderer); * const renderPass = new RenderPass(scene, camera); * renderPass.renderToScreen = false; * composer.addPass(renderPass); * * const godraysPass = new GodraysPass(pointLight, camera); * godraysPass.renderToScreen = true; * composer.addPass(godraysPass); * * function animate() { * composer.render(scene, camera); * } * ``` * * @param light The light source to use for the godrays. * @param camera The camera used to render the scene. * @param partialParams The parameters to use for the godrays effect. Will use default values for any parameters not specified. */ constructor(light: GodRaysVolumetricAcceptedLightType, camera: PerspectiveCamera, partialParams?: Partial<GodraysPassParams>); setLight(light: GodRaysVolumetricAcceptedLightType): void; /** * Updates the parameters used for the godrays effect. Will use default values for any parameters not specified. */ setParams(partialParams: Partial<GodraysPassParams>): void; render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, _deltaTime?: number | undefined, _stencilTest?: boolean | undefined): void; setDepthTexture(depthTexture: Texture, depthPacking?: DepthPackingStrategies | undefined): void; setSize(width: number, height: number): void; dispose(): void; }