Spaces:
Running
Running
File size: 1,341 Bytes
2b7aae2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | import { Material } from './Material.js';
import { Vector3 } from '../math/Vector3.js';
/**
* parameters = {
*
* referencePosition: <float>,
* nearDistance: <float>,
* farDistance: <float>,
*
* map: new THREE.Texture( <Image> ),
*
* alphaMap: new THREE.Texture( <Image> ),
*
* displacementMap: new THREE.Texture( <Image> ),
* displacementScale: <float>,
* displacementBias: <float>
*
* }
*/
class MeshDistanceMaterial extends Material {
constructor(parameters) {
super();
this.type = 'MeshDistanceMaterial';
this.referencePosition = new Vector3();
this.nearDistance = 1;
this.farDistance = 1000;
this.map = null;
this.alphaMap = null;
this.displacementMap = null;
this.displacementScale = 1;
this.displacementBias = 0;
this.fog = false;
this.setValues(parameters);
}
copy(source) {
super.copy(source);
this.referencePosition.copy(source.referencePosition);
this.nearDistance = source.nearDistance;
this.farDistance = source.farDistance;
this.map = source.map;
this.alphaMap = source.alphaMap;
this.displacementMap = source.displacementMap;
this.displacementScale = source.displacementScale;
this.displacementBias = source.displacementBias;
return this;
}
}
MeshDistanceMaterial.prototype.isMeshDistanceMaterial = true;
export { MeshDistanceMaterial };
|