| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /**
- * @author WestLangley / http://github.com/WestLangley
- *
- * A LightProbe is a source of indirect-diffuse light
- */
- 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 ) {
- var data = Light.prototype.toJSON.call( this, meta );
- data.object.sh = this.sh.toArray();
- return data;
- }
- } );
- export { LightProbe };
|