added god rays

This commit is contained in:
2025-07-29 00:15:57 +01:00
parent 51427294da
commit 1508b3cb29
20 changed files with 2436 additions and 3 deletions

View File

@@ -0,0 +1,28 @@
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 {};