/** * Post-processing effects for Blender-quality rendering * Includes SSAO, tone mapping, and edge enhancement */ import { WebGPUDevice } from './device.js'; export interface PostProcessorOptions { enableContactShading?: boolean; contactRadius?: number; contactIntensity?: number; } export type PostProcessQuality = 'low' | 'high'; export interface ContactShadingPassOptions { targetView: GPUTextureView; depthView: GPUTextureView; objectIdView: GPUTextureView; contactQuality: PostProcessQuality; radius: number; intensity: number; separationQuality: PostProcessQuality; separationRadius: number; separationIntensity: number; enableSeparationLines: boolean; } /** * Post-processing pipeline * Currently implements enhanced tone mapping in shader * SSAO and edge enhancement can be added as separate passes */ export declare class PostProcessor { private _device; private options; private colorFormat; private isMultisampled; private uniformBuffer; private uniformStaging; private uniformF32; private uniformU32; private bindGroupLayout; private pipeline; private cachedBindGroup; private cachedDepthView; private cachedObjectIdView; constructor(device: WebGPUDevice, options?: PostProcessorOptions, sampleCount?: number); /** * Apply lightweight contact shading in a fullscreen overlay pass. */ apply(commandEncoder: GPUCommandEncoder, options: ContactShadingPassOptions): void; /** * Update post-processing options */ updateOptions(options: Partial): void; private destroyed; /** * Destroy all GPU resources held by this post-processor. * After calling this method the post-processor is no longer usable. * Safe to call multiple times. */ destroy(): void; } //# sourceMappingURL=post-processor.d.ts.map