import * as THREE from "three"; import { PBMMaterial, PBMMeshShaderType, PBMPanoPicture, PBMPanoFilterValue, PBMPanoDepth, PBMRefinedScreen, PBMClipperParameter, PBMCustomShader, PBMAlphaMode, PBMTransition, PBMColorStyle, PBMRoofStyle, PBMFloorStyle } from "./pbmMaterial"; export interface PBMMeshMaterialParameters extends THREE.MaterialParameters, THREE.MaterialParameters, THREE.MeshBasicMaterialParameters, THREE.MeshPhongMaterialParameters, THREE.MeshStandardMaterialParameters { shaderType?: PBMMeshShaderType; vertexMarks?: boolean; colorAlpha?: number; alphaMode?: PBMAlphaMode; pano0?: PBMPanoPicture | null; pano1?: PBMPanoPicture | null; pano0Depth?: PBMPanoDepth | null; pano1Depth?: PBMPanoDepth | null; panoFilter?: PBMPanoFilterValue | null; refinedScreen?: PBMRefinedScreen | null; modelAlpha?: number; progress?: number; transition?: PBMTransition; colorStyle?: PBMColorStyle; constantColor?: THREE.Vector3; floorIndex?: number; shownFloorIndex?: number; roofStyle?: PBMRoofStyle; floorStyle?: PBMFloorStyle; gradientTexture?: THREE.Texture | null; brightness?: number; colorSaturation?: number; colorBrightness?: number; useHQWeight?: boolean; useHQDepth?: boolean; depthOffset?: number; modelBoundingMin?: THREE.Vector3; modelBoundingMax?: THREE.Vector3; clippers?: PBMClipperParameter[]; customShaders?: PBMCustomShader[]; } declare class PBMMeshMaterial extends PBMMaterial implements THREE.MeshBasicMaterial, THREE.MeshPhongMaterial, THREE.MeshStandardMaterial { readonly isPBMMeshMaterial: true; readonly isShaderMaterial: true; readonly isMeshBasicMaterial: boolean; readonly isMeshPhongMaterial: boolean; readonly isMeshStandardMaterial: boolean; readonly isMeshPhysicalMaterial: boolean; shaderType: PBMMeshShaderType; vertexTangents: boolean; color: THREE.Color; map: THREE.Texture | null; lightMap: THREE.Texture | null; lightMapIntensity: number; aoMap: THREE.Texture | null; aoMapIntensity: number; specularMap: THREE.Texture | null; specular: THREE.Color; shininess: number; roughnessMap: THREE.Texture | null; roughness: number; metalnessMap: THREE.Texture | null; metalness: number; alphaMap: THREE.Texture | null; combine: THREE.Combine; envMap: THREE.Texture | THREE.CubeTexture | null; envMapIntensity: number; reflectivity: number; refractionRatio: number; emissiveMap: THREE.Texture | null; emissive: THREE.Color; emissiveIntensity: number; bumpMap: THREE.Texture | null; bumpScale: number; normalMap: THREE.Texture | null; normalMapType: THREE.NormalMapTypes; normalScale: THREE.Vector2; displacementMap: THREE.Texture | null; displacementScale: number; displacementBias: number; clearcoat: number; clearcoatMap: THREE.Texture | null; clearcoatRoughness: number; clearcoatRoughnessMap: THREE.Texture | null; clearcoatNormalScale: THREE.Vector2; clearcoatNormalMap: THREE.Texture | null; sheen: THREE.Color | null; transparency: number; wireframe: boolean; wireframeLinewidth: number; wireframeLinecap: string; wireframeLinejoin: string; skinning: boolean; morphTargets: boolean; morphNormals: boolean; metal: boolean; vertexMarks: boolean; alphaMode: PBMAlphaMode; colorAlpha: number; pano0: PBMPanoPicture | null; pano1: PBMPanoPicture | null; pano0Depth: PBMPanoDepth | null; pano1Depth: PBMPanoDepth | null; panoFilter: PBMPanoFilterValue | null; refinedScreen: PBMRefinedScreen | null; modelAlpha: number; progress: number; transition: PBMTransition; colorStyle: PBMColorStyle; constantColor: THREE.Vector3; floorIndex: number; shownFloorIndex: number; roofStyle: PBMRoofStyle; floorStyle: PBMFloorStyle; gradientTexture: THREE.Texture | null; brightness: number; colorSaturation: number; colorBrightness: number; useHQWeight: boolean; useHQDepth: boolean; depthOffset: number; 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?: PBMMeshMaterialParameters | PBMMeshShaderType); copy(source: PBMMeshMaterial): this; clone(): this; /** * @deprecated * 已经不需要再被调用了 */ refreshUniforms(): void; } export { PBMMeshMaterial };