import { ProjectionBase } from '@awayjs/core'; import { INode } from '@awayjs/view'; import { IMapper, TextureBase } from '@awayjs/renderer'; import { LightBase } from '../lights/LightBase'; import { MethodBase, _Shader_MethodBase } from '../methods/MethodBase'; export declare class ShadowMapperBase extends MethodBase implements IMapper { protected _textureMap: TextureBase; protected _size: number; protected _light: LightBase; protected _epsilon: number; protected _alpha: number; autoUpdate: boolean; get textureMap(): TextureBase; /** * The "transparency" of the shadows. This allows making shadows less strong. */ get alpha(): number; set alpha(value: number); get light(): LightBase; set light(value: LightBase); /** * A small value to counter floating point precision errors when comparing values in the shadow map with the * calculated depth value. Increase this if shadow banding occurs, decrease it if the shadow seems to be too detached. */ get epsilon(): number; set epsilon(value: number); get size(): number; set size(value: number); update(node: INode): void; protected _updateProjection(projection: ProjectionBase): void; protected _renderMap(node: INode): void; protected _updateSize(): void; dispose(): void; } import { ShaderRegisterCache, ShaderRegisterData, ShaderRegisterElement } from '@awayjs/stage'; import { _Render_RenderableBase, ShaderBase, _Shader_TextureBase, ChunkVO } from '@awayjs/renderer'; /** * _Shader_ShadowMapperBase provides an abstract method for simple (non-wrapping) shadow map methods. */ export declare class _Shader_ShadowMapperBase extends _Shader_MethodBase { private _fragmentAlphaIndex; protected _depthMapCoordReg: ShaderRegisterElement; protected _mapper: ShadowMapperBase; protected _shader: ShaderBase; protected _texture: _Shader_TextureBase; autoUpdate: boolean; /** * @inheritDoc */ _cleanCompilationData(): void; get texture(): _Shader_TextureBase; /** * Wrappers that override the vertex shader need to set this explicitly */ get depthMapCoordReg(): ShaderRegisterElement; /** * Creates a new _Shader_ShadowMapperBase object. */ init(mapper: ShadowMapperBase, shader: ShaderBase): void; /** * */ onClear(): void; /** * @inheritDoc */ _initVO(chunkVO: ChunkVO): void; _initConstants(): void; /** * @inheritDoc */ _getFragmentCode(targetReg: ShaderRegisterElement, regCache: ShaderRegisterCache, sharedRegs: ShaderRegisterData): string; /** * @inheritDoc */ _activate(): void; /** * @inheritDoc */ _setRenderState(renderState: _Render_RenderableBase): void; } //# sourceMappingURL=ShadowMapperBase.d.ts.map