29 lines
1.4 KiB
TypeScript
29 lines
1.4 KiB
TypeScript
import { Pass, type Resizable } from 'postprocessing';
|
|
import * as THREE from 'three';
|
|
import type { PerspectiveCamera } from 'three';
|
|
import type { GodraysPassParams } from './index';
|
|
interface GodraysCompositorMaterialProps {
|
|
godrays: THREE.Texture;
|
|
edgeStrength: number;
|
|
edgeRadius: number;
|
|
color: THREE.Color;
|
|
camera: THREE.PerspectiveCamera;
|
|
gammaCorrection: boolean;
|
|
}
|
|
export declare class GodraysCompositorMaterial extends THREE.ShaderMaterial implements Resizable {
|
|
constructor({ godrays, edgeStrength, edgeRadius, color, camera, gammaCorrection, }: GodraysCompositorMaterialProps);
|
|
updateUniforms(edgeStrength: number, edgeRadius: number, color: THREE.Color, gammaCorrection: boolean, near: number, far: number): void;
|
|
setSize(width: number, height: number): void;
|
|
}
|
|
export declare class GodraysCompositorPass extends Pass {
|
|
sceneCamera: PerspectiveCamera;
|
|
private depthCopyRenderTexture;
|
|
private depthTextureCopyPass;
|
|
constructor(props: GodraysCompositorMaterialProps);
|
|
updateUniforms(params: GodraysPassParams): void;
|
|
render(renderer: THREE.WebGLRenderer, inputBuffer: THREE.WebGLRenderTarget, outputBuffer: THREE.WebGLRenderTarget | null, _deltaTime?: number | undefined, _stencilTest?: boolean | undefined): void;
|
|
setDepthTexture(depthTexture: THREE.Texture, depthPacking?: THREE.DepthPackingStrategies | undefined): void;
|
|
setSize(width: number, height: number): void;
|
|
}
|
|
export {};
|