import { TangentSpaceNormalMap } from '../constants.js'; import { Material } from './Material.js'; import { Vector2 } from '../math/Vector2.js'; /** * parameters = { * opacity: , * * bumpMap: new THREE.Texture( ), * bumpScale: , * * normalMap: new THREE.Texture( ), * normalMapType: THREE.TangentSpaceNormalMap, * normalScale: , * * displacementMap: new THREE.Texture( ), * displacementScale: , * displacementBias: , * * wireframe: , * wireframeLinewidth: * * morphTargets: , * morphNormals: , * * flatShading: * } */ class MeshNormalMaterial extends Material { constructor( parameters ) { super(); this.type = 'MeshNormalMaterial'; this.bumpMap = null; this.bumpScale = 1; this.normalMap = null; this.normalMapType = TangentSpaceNormalMap; this.normalScale = new Vector2( 1, 1 ); this.displacementMap = null; this.displacementScale = 1; this.displacementBias = 0; this.wireframe = false; this.wireframeLinewidth = 1; this.fog = false; this.morphTargets = false; this.morphNormals = false; this.flatShading = false; this.setValues( parameters ); } copy( source ) { super.copy( source ); this.bumpMap = source.bumpMap; this.bumpScale = source.bumpScale; this.normalMap = source.normalMap; this.normalMapType = source.normalMapType; this.normalScale.copy( source.normalScale ); this.displacementMap = source.displacementMap; this.displacementScale = source.displacementScale; this.displacementBias = source.displacementBias; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; this.morphTargets = source.morphTargets; this.morphNormals = source.morphNormals; this.flatShading = source.flatShading; return this; } } MeshNormalMaterial.prototype.isMeshNormalMaterial = true; export { MeshNormalMaterial };