import type { Scene } from '@certe/atmos-core'; import type { Mat4Type } from '@certe/atmos-math'; export declare class DirectionalShadowPass { private readonly _device; private readonly _pipeline; private readonly _lightVPBuffer; private readonly _lightVPBindGroup; private readonly _depthTexture; private readonly _sampler; readonly shadowMapView: GPUTextureView; readonly resolution: number; get lightVPBuffer(): GPUBuffer; get shadowSampler(): GPUSampler; constructor(device: GPUDevice, objectBindGroupLayout: GPUBindGroupLayout, resolution?: number); execute(encoder: GPUCommandEncoder, scene: Scene, lightVP: Mat4Type, extraDraw?: (pass: GPURenderPassEncoder) => void): void; destroy(): void; } /** * Wraps a pair of DirectionalShadowPass (cascade 0 near + cascade 1 far) * for a single directional light shadow slot. */ export declare class DirectionalShadowPassPair { private readonly _cascade0; private readonly _cascade1; constructor(device: GPUDevice, objectBGL: GPUBindGroupLayout, resolution: number); get cascade0View(): GPUTextureView; get cascade1View(): GPUTextureView; execute(encoder: GPUCommandEncoder, scene: Scene, vp0: Mat4Type, vp1: Mat4Type, extraDraw?: (pass: GPURenderPassEncoder) => void): void; destroy(): void; } //# sourceMappingURL=shadow-pass.d.ts.map