import * as THREE from 'three'; import { PBMMaterial, PBMPointCloudShaderType, PBMClipperParameter, PBMCustomShader, PBMPointSize, PBMPointShape, PBMPointBack, PBMColorStyle, PBMFloorStyle } from "./pbmMaterial"; export interface PBMPointCloudMaterialParameters extends THREE.MaterialParameters { vertexMarks?: boolean; pointScale?: number; pointMinPixel?: number; pointMaxPixel?: number; pointSize?: PBMPointSize; pointShape?: PBMPointShape; pointBack?: PBMPointBack; modelAlpha?: number; colorStyle?: PBMColorStyle; constantColor?: THREE.Vector3; floorIndex?: number; shownFloorIndex?: number; floorStyle?: PBMFloorStyle; gradientTexture?: THREE.Texture | null; brightness?: number; colorSaturation?: number; colorBrightness?: number; outlineGain?: number; distanceGain?: number; useHQWeight?: boolean; useHQDepth?: boolean; modelBoundingMin?: THREE.Vector3; modelBoundingMax?: THREE.Vector3; clippers?: PBMClipperParameter[]; customShaders?: PBMCustomShader[]; } declare class PBMPointCloudMaterial extends PBMMaterial { readonly isPBMPointCloudMaterial: true; readonly isShaderMaterial: true; readonly shaderType: PBMPointCloudShaderType; vertexMarks: boolean; pointScale: number; pointMinPixel: number; pointMaxPixel: number; pointSize: PBMPointSize; pointShape: PBMPointShape; pointBack: PBMPointBack; modelAlpha: number; colorStyle: PBMColorStyle; constantColor: THREE.Vector3; floorIndex: number; shownFloorIndex: number; floorStyle: PBMFloorStyle; gradientTexture: THREE.Texture | null; brightness: number; colorSaturation: number; colorBrightness: number; outlineGain: number; distanceGain: number; useHQWeight: boolean; useHQDepth: boolean; modelBoundingMin: THREE.Vector3; modelBoundingMax: THREE.Vector3; clipping: boolean; clippers: readonly PBMClipperParameter[]; customShaders: readonly PBMCustomShader[]; onBeforeRender?: (renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry | THREE.Geometry, object: THREE.Object3D, group: THREE.Group) => void; constructor(parameters?: PBMPointCloudMaterialParameters); copy(source: PBMPointCloudMaterial): this; clone(): this; /** * @deprecated * 已经不需要再被调用了 */ refreshUniforms(): void; } export { PBMPointCloudMaterial };