import { Color, Matrix4, MeshBasicMaterial, MeshDepthMaterial, Object3D, OrthographicCamera, PerspectiveCamera, Scene, ShaderMaterial, Vector2, WebGLRenderer, WebGLRenderTarget } from "three"; import { Pass } from "three/examples/jsm/postprocessing/Pass"; /** * @author spidersharma / http://eduperiment.com/ */ export declare class OutlinePass extends Pass { renderScene: Scene; renderCamera: OrthographicCamera | PerspectiveCamera; resolution: Vector2; selectedObjects: Object3D[]; renderObjects: Object3D[]; visibleEdgeColor: Color; hiddenEdgeColor: Color; edgeGlow: number; usePatternTexture: boolean; edgeThickness: number; edgeStrength: number; downSampleRatio: number; pulsePeriod: number; maskBufferMaterial: MeshBasicMaterial; renderTargetMaskBuffer: WebGLRenderTarget; depthMaterial: MeshDepthMaterial; prepareMaskMaterial: ShaderMaterial; renderTargetDepthBuffer: WebGLRenderTarget; renderTargetMaskDownSampleBuffer: WebGLRenderTarget; renderTargetBlurBuffer1: WebGLRenderTarget; renderTargetBlurBuffer2: WebGLRenderTarget; edgeDetectionMaterial: ShaderMaterial; renderTargetEdgeBuffer1: WebGLRenderTarget; renderTargetEdgeBuffer2: WebGLRenderTarget; separableBlurMaterial1: ShaderMaterial; separableBlurMaterial2: ShaderMaterial; overlayMaterial: ShaderMaterial; copyUniforms: { [x: string]: { value: any; }; }; materialCopy: ShaderMaterial; oldClearColor: Color; oldClearAlpha: number; fsQuad: Pass.FullScreenQuad; tempPulseColor1: Color; tempPulseColor2: Color; textureMatrix: Matrix4; patternTexture: any; constructor(renderScene: Scene, renderCamera: OrthographicCamera | PerspectiveCamera, resolution?: Vector2, selectedObjects?: Object3D[]); dispose(): void; setSize(width: number, height: number): void; changeVisibilityOfSelectedObjects(bVisible: boolean): void; changeVisibilityOfNonSelectedObjects(bVisible: boolean): void; updateTextureMatrix(): void; render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget, deltaTime: number, maskActive: boolean): void; getPrepareMaskMaterial(): ShaderMaterial; getEdgeDetectionMaterial(): ShaderMaterial; getSeperableBlurMaterial(maxRadius: number): ShaderMaterial; getOverlayMaterial(): ShaderMaterial; static BlurDirectionX: Vector2; static BlurDirectionY: Vector2; } //# sourceMappingURL=OutlinePass.d.ts.map