webcad-ue4-api/types/GraphicsSystem/OutlinePass.d.ts
2022-02-16 11:15:31 +08:00

61 lines
2.5 KiB
TypeScript

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