@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
46 lines (45 loc) • 2.2 kB
TypeScript
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;
}