/** * PostProcessingManager.ts * * Advanced post-processing effects for AAA-quality visuals. * Includes SSAO, SSR, bloom, motion blur, TAA, and more. * * Visual Impact: * - SSAO: Realistic ambient occlusion shadows * - Bloom: Glowing lights and emissive materials * - Motion Blur: Cinematic motion effects * - TAA: Anti-aliasing with temporal filtering * - Depth of Field: Camera focus effects */ import * as THREE from 'three'; export type PostProcessingQuality = 'low' | 'medium' | 'high' | 'ultra'; export interface PostProcessingConfig { /** Enable SSAO (Screen-Space Ambient Occlusion) */ ssao?: { enabled: boolean; radius?: number; minDistance?: number; maxDistance?: number; intensity?: number; }; /** Enable Bloom */ bloom?: { enabled: boolean; strength?: number; radius?: number; threshold?: number; }; /** Enable TAA (Temporal Anti-Aliasing) */ taa?: { enabled: boolean; sampleLevel?: number; }; /** Enable FXAA (Fast Approximate Anti-Aliasing) */ fxaa?: { enabled: boolean; }; /** Enable Motion Blur */ motionBlur?: { enabled: boolean; intensity?: number; samples?: number; }; /** Enable Depth of Field */ depthOfField?: { enabled: boolean; focusDistance?: number; focalLength?: number; bokehScale?: number; }; /** Enable Vignette */ vignette?: { enabled: boolean; offset?: number; darkness?: number; }; /** Enable Film Grain */ filmGrain?: { enabled: boolean; intensity?: number; }; /** Enable Chromatic Aberration */ chromaticAberration?: { enabled: boolean; offset?: number; }; /** Overall quality preset */ quality?: PostProcessingQuality; } export interface PostProcessingStats { enabled: boolean; activeEffects: number; renderTime: number; quality: PostProcessingQuality; } /** * Manages post-processing effects for enhanced visuals */ export declare class PostProcessingManager { private composer; private config; private quality; private enabled; private renderTime; private passes; constructor(config?: PostProcessingConfig); /** * Merge user config with quality preset */ private mergeWithPreset; /** * Initialize post-processing with renderer, scene, and camera */ initialize(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera): void; /** * Add SSAO (Screen-Space Ambient Occlusion) */ private addSSAO; /** * Add Bloom effect */ private addBloom; /** * Add TAA (Temporal Anti-Aliasing) */ private addTAA; /** * Add FXAA (Fast Approximate Anti-Aliasing) */ private addFXAA; /** * Add Vignette effect */ private addVignette; /** * Add Film Grain effect */ private addFilmGrain; /** * Add Chromatic Aberration effect */ private addChromaticAberration; /** * Render with post-processing */ render(deltaTime?: number): void; /** * Update quality preset */ setQuality(quality: PostProcessingQuality): void; /** * Enable/disable specific effect */ setEffectEnabled(effectName: string, enabled: boolean): void; /** * Enable/disable all post-processing */ setEnabled(enabled: boolean): void; /** * Get statistics */ getStats(): PostProcessingStats; /** * Resize (call when renderer size changes) */ setSize(width: number, height: number): void; /** * Dispose resources */ dispose(): void; } //# sourceMappingURL=PostProcessingManager.d.ts.map