import { Matrix3D, Rectangle, AssetEvent, ProjectionBase } from '@awayjs/core'; import { Image2D } from '@awayjs/stage'; import { INode } from '@awayjs/view'; import { DirectionalShadowMapper, _Shader_DirectionalShadowMapper } from './DirectionalShadowMapper'; export declare class CascadeShadowMapper extends DirectionalShadowMapper { private _onClearDelegate; _pScissorRects: Rectangle[]; private _scissorRectsInvalid; private _splitRatios; private _numCascades; private _depthProjections; private _texOffsetsX; private _texOffsetsY; private _nearPlaneDistances; static assetType: string; /** * @inheritDoc */ get assetType(): string; constructor(image2D?: Image2D, numCascades?: number); dispose(): void; getSplitRatio(index: number): number; setSplitRatio(index: number, value: number): void; getDepthProjections(partition: number): Matrix3D; private init; /** * */ onClear(event: AssetEvent): void; get numCascades(): number; set numCascades(value: number); protected _renderMap(node: INode): void; private updateScissorRects; protected _updateProjection(projection: ProjectionBase): void; private updateProjectionPartition; get _iNearPlaneDistances(): Array; } import { ShaderRegisterCache, ShaderRegisterData, ShaderRegisterElement } from '@awayjs/stage'; import { _Render_RenderableBase, ChunkVO } from '@awayjs/renderer'; /** * _Shader_CascadeShadowMapper is a shadow map method to apply cascade shadow mapping on materials. * Must be used with a DirectionalLight with a CascadeShadowMapper assigned to its shadowMapper property. * * @see away.lights.CascadeShadowMapper */ export declare class _Shader_CascadeShadowMapper extends _Shader_DirectionalShadowMapper { private _cascadeProjections; private _depthMapCoordVaryings; private _vertexConstantsIndex; private _fragmentConstantsIndex; private _projectionMatrices; /** * @inheritDoc */ _initVO(chunkVO: ChunkVO): void; /** * @inheritDoc */ _initConstants(): void; /** * @inheritDoc */ _cleanCompilationData(): void; /** * @inheritDoc */ _getVertexCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _getFragmentCode(targetReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string; /** * @inheritDoc */ _activate(): void; /** * @inheritDoc */ _setRenderState(renderState: _Render_RenderableBase): void; } //# sourceMappingURL=CascadeShadowMapper.d.ts.map