import { NormalMapTypes } from "../constants.js"; import { Color, ColorRepresentation } from "../math/Color.js"; import { Vector2 } from "../math/Vector2.js"; import { Texture } from "../textures/Texture.js"; import { Material, MaterialParameters } from "./Material.js"; export interface MeshMatcapMaterialParameters extends MaterialParameters { color?: ColorRepresentation | undefined; matcap?: Texture | null | undefined; map?: Texture | null | undefined; bumpMap?: Texture | null | undefined; bumpScale?: number | undefined; normalMap?: Texture | null | undefined; normalMapType?: NormalMapTypes | undefined; normalScale?: Vector2 | undefined; displacementMap?: Texture | null | undefined; displacementScale?: number | undefined; displacementBias?: number | undefined; alphaMap?: Texture | null | undefined; fog?: boolean | undefined; flatShading?: boolean | undefined; } export class MeshMatcapMaterial extends Material { constructor(parameters?: MeshMatcapMaterialParameters); /** * Read-only flag to check if a given object is of type {@link MeshMatcapMaterial}. * @remarks This is a _constant_ value * @defaultValue `true` */ readonly isMeshMatcapMaterial: true; /** * @default { 'MATCAP': '' } */ defines: { [key: string]: any }; /** * @default new THREE.Color( 0xffffff ) */ color: Color; /** * @default null */ matcap: Texture | null; /** * @default null */ map: Texture | null; /** * @default null */ bumpMap: Texture | null; /** * @default 1 */ bumpScale: number; /** * @default null */ normalMap: Texture | null; /** * @default THREE.TangentSpaceNormalMap */ normalMapType: NormalMapTypes; /** * @default new Vector2( 1, 1 ) */ normalScale: Vector2; /** * @default null */ displacementMap: Texture | null; /** * @default 1 */ displacementScale: number; /** * @default 0 */ displacementBias: number; /** * @default null */ alphaMap: Texture | null; /** * Define whether the material is rendered with flat shading. Default is false. * @default false */ flatShading: boolean; /** * Whether the material is affected by fog. Default is true. * @default fog */ fog: boolean; setValues(parameters: MeshMatcapMaterialParameters): void; }