import { Vector3, WebGLRenderTarget, Color, ShaderMaterial } from 'three'; import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass.js'; import type { Scene, WebGLRenderer } from 'three'; import type { CircleOptions } from "./Type"; /** * @author huaqing / https://github.com/2912401452/ */ declare class CircleSweepPass extends Pass { scene: Scene; camera: any; center: Vector3; innerRadius: number; outerRadius: number; fillType: number; fillColor: Color; depthTarget: WebGLRenderTarget; renderer: any; depthMaterial: ShaderMaterial; fsQuad: FullScreenQuad; topLeftVec: Vector3; topRightVec: Vector3; bottomLeftVec: Vector3; bottomRightVec: Vector3; width: number; height: number; constructor(renderer: WebGLRenderer, scene: Scene, camera: any, options: CircleOptions); render(renderer: any, writeBuffer: any, readBuffer: any, deltaTime: any, maskActive: any): void; calCameraVectors(): { topLeftVec: Vector3; topRightVec: Vector3; bottomLeftVec: Vector3; bottomRightVec: Vector3; }; ang2rad(ang: any): number; getDepthMaterial(): ShaderMaterial; setSize(width: any, height: any): void; setCamera(camera: any): void; } export { CircleSweepPass };