UNPKG

@takram/three-clouds

Version:
44 lines (43 loc) 2.09 kB
import { ShaderPass } from 'postprocessing'; import { Camera, DataArrayTexture, DepthPackingStrategies, Texture, TextureDataType, WebGLRenderer } from 'three'; import { AtmosphereParameters } from '@takram/three-atmosphere'; import { CloudsMaterial } from './CloudsMaterial'; import { CloudsResolveMaterial } from './CloudsResolveMaterial'; import { PassBase, PassBaseOptions } from './PassBase'; import { AtmosphereUniforms, CloudLayerUniforms, CloudParameterUniforms } from './uniforms'; export interface CloudsPassOptions extends PassBaseOptions { parameterUniforms: CloudParameterUniforms; layerUniforms: CloudLayerUniforms; atmosphereUniforms: AtmosphereUniforms; } export declare class CloudsPass extends PassBase { private readonly atmosphere; private currentRenderTarget; readonly currentMaterial: CloudsMaterial; readonly currentPass: ShaderPass; private resolveRenderTarget; readonly resolveMaterial: CloudsResolveMaterial; readonly resolvePass: ShaderPass; private historyRenderTarget; private width; private height; constructor({ parameterUniforms, layerUniforms, atmosphereUniforms, ...options }: CloudsPassOptions, atmosphere: AtmosphereParameters); copyCameraSettings(camera: Camera): void; initialize(renderer: WebGLRenderer, alpha: boolean, frameBufferType: TextureDataType): void; private initRenderTargets; private copyShadow; private copyReprojection; private swapBuffers; update(renderer: WebGLRenderer, frame: number, deltaTime: number): void; setSize(width: number, height: number): void; setShadowSize(width: number, height: number, depth: number): void; setDepthTexture(depthTexture: Texture, depthPacking?: DepthPackingStrategies): void; get outputBuffer(): Texture; get shadowBuffer(): DataArrayTexture | null; set shadowBuffer(value: DataArrayTexture | null); get shadowLengthBuffer(): Texture | null; get temporalUpscale(): boolean; set temporalUpscale(value: boolean); get lightShafts(): boolean; set lightShafts(value: boolean); }