/** * @ignore */ export class ShadowRenderer { static createShadowCamera(device: any, shadowType: any, type: any, face: any): import("../camera.js").Camera; static setShadowCameraSettings(shadowCam: any, device: any, shadowType: any, type: any, isClustered: any): void; /** * @param {import('./renderer.js').Renderer} renderer - The renderer. * @param {import('../lighting/light-texture-atlas.js').LightTextureAtlas} lightTextureAtlas - The * shadow map atlas. */ constructor(renderer: import("./renderer.js").Renderer, lightTextureAtlas: import("../lighting/light-texture-atlas.js").LightTextureAtlas); /** * A cache of shadow passes. First index is looked up by light type, second by shadow type. * * @type {import('../shader-pass.js').ShaderPassInfo[][]} * @private */ private shadowPassCache; device: import("../../index.js").GraphicsDevice; /** @type {import('./renderer.js').Renderer} */ renderer: import("./renderer.js").Renderer; /** @type {import('../lighting/light-texture-atlas.js').LightTextureAtlas} */ lightTextureAtlas: import("../lighting/light-texture-atlas.js").LightTextureAtlas; polygonOffsetId: import("../../index.js").ScopeId; polygonOffset: Float32Array; sourceId: import("../../index.js").ScopeId; pixelOffsetId: import("../../index.js").ScopeId; weightId: import("../../index.js").ScopeId; blurVsmShaderCode: any[]; blurPackedVsmShaderCode: string[]; blurVsmShader: {}[]; blurPackedVsmShader: {}[]; blurVsmWeights: {}; shadowMapLightRadiusId: import("../../index.js").ScopeId; viewUniformFormat: UniformBufferFormat; viewBindGroupFormat: BindGroupFormat; blendStateWrite: BlendState; blendStateNoWrite: BlendState; _cullShadowCastersInternal(meshInstances: any, visible: any, camera: any): void; /** * Culls the list of shadow casters used by the light by the camera, storing visible mesh * instances in the specified array. * @param {import('../composition/layer-composition.js').LayerComposition} comp - The layer * composition used as a source of shadow casters, if those are not provided directly. * @param {import('../light.js').Light} light - The light. * @param {import('../mesh-instance.js').MeshInstance[]} visible - The array to store visible * mesh instances in. * @param {import('../camera.js').Camera} camera - The camera. * @param {import('../mesh-instance.js').MeshInstance[]} [casters] - Optional array of mesh * instances to use as casters. * @ignore */ cullShadowCasters(comp: import("../composition/layer-composition.js").LayerComposition, light: import("../light.js").Light, visible: import("../mesh-instance.js").MeshInstance[], camera: import("../camera.js").Camera, casters?: import("../mesh-instance.js").MeshInstance[]): void; setupRenderState(device: any, light: any): void; dispatchUniforms(light: any, shadowCam: any, lightRenderData: any, face: any): void; /** * @param {import('../light.js').Light} light - The light. * @returns {number} Index of shadow pass info. */ getShadowPass(light: import("../light.js").Light): number; /** * @param {import('../mesh-instance.js').MeshInstance[]} visibleCasters - Visible mesh * instances. * @param {import('../light.js').Light} light - The light. */ submitCasters(visibleCasters: import("../mesh-instance.js").MeshInstance[], light: import("../light.js").Light): void; needsShadowRendering(light: any): any; getLightRenderData(light: any, camera: any, face: any): any; setupRenderPass(renderPass: any, shadowCamera: any, clearRenderTarget: any): void; prepareFace(light: any, camera: any, face: any): any; renderFace(light: any, camera: any, face: any, clear: any, insideRenderPass?: boolean): void; render(light: any, camera: any, insideRenderPass?: boolean): void; renderVsm(light: any, camera: any): void; getVsmBlurShader(isVsm8: any, blurMode: any, filterSize: any): any; applyVsmBlur(light: any, camera: any): void; initViewBindGroupFormat(): void; frameUpdate(): void; } import { UniformBufferFormat } from '../../platform/graphics/uniform-buffer-format.js'; import { BindGroupFormat } from '../../platform/graphics/bind-group-format.js'; import { BlendState } from '../../platform/graphics/blend-state.js';