three
Version:
JavaScript 3D library
52 lines (27 loc) • 882 B
JavaScript
import { SphericalHarmonics3 } from '../math/SphericalHarmonics3.js';
import { Light } from './Light.js';
function LightProbe( sh, intensity ) {
Light.call( this, undefined, intensity );
this.type = 'LightProbe';
this.sh = ( sh !== undefined ) ? sh : new SphericalHarmonics3();
}
LightProbe.prototype = Object.assign( Object.create( Light.prototype ), {
constructor: LightProbe,
isLightProbe: true,
copy: function ( source ) {
Light.prototype.copy.call( this, source );
this.sh.copy( source.sh );
return this;
},
fromJSON: function ( json ) {
this.intensity = json.intensity; // TODO: Move this bit to Light.fromJSON();
this.sh.fromArray( json.sh );
return this;
},
toJSON: function ( meta ) {
const data = Light.prototype.toJSON.call( this, meta );
data.object.sh = this.sh.toArray();
return data;
}
} );
export { LightProbe };