Spaces:
Running
Running
import { Object3D } from '../core/Object3D.js'; | |
import { Color } from '../math/Color.js'; | |
/** | |
* @author mrdoob / http://mrdoob.com/ | |
* @author alteredq / http://alteredqualia.com/ | |
*/ | |
function Light( color, intensity ) { | |
Object3D.call( this ); | |
this.type = 'Light'; | |
this.color = new Color( color ); | |
this.intensity = intensity !== undefined ? intensity : 1; | |
this.receiveShadow = undefined; | |
} | |
Light.prototype = Object.assign( Object.create( Object3D.prototype ), { | |
constructor: Light, | |
isLight: true, | |
copy: function ( source ) { | |
Object3D.prototype.copy.call( this, source ); | |
this.color.copy( source.color ); | |
this.intensity = source.intensity; | |
return this; | |
}, | |
toJSON: function ( meta ) { | |
var data = Object3D.prototype.toJSON.call( this, meta ); | |
data.object.color = this.color.getHex(); | |
data.object.intensity = this.intensity; | |
if ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex(); | |
if ( this.distance !== undefined ) data.object.distance = this.distance; | |
if ( this.angle !== undefined ) data.object.angle = this.angle; | |
if ( this.decay !== undefined ) data.object.decay = this.decay; | |
if ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra; | |
if ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON(); | |
return data; | |
} | |
} ); | |
export { Light }; | |