Browse Source

AmbientLightProbe: Convert to ES6 class

Mr.doob 4 years ago
parent
commit
0ed7a89580
1 changed files with 8 additions and 28 deletions
  1. 8 28
      src/lights/AmbientLightProbe.js

+ 8 - 28
src/lights/AmbientLightProbe.js

@@ -1,41 +1,21 @@
 import { Color } from '../math/Color.js';
 import { LightProbe } from './LightProbe.js';
 
-function AmbientLightProbe( color, intensity ) {
+class AmbientLightProbe extends LightProbe {
 
-	LightProbe.call( this, undefined, intensity );
+	constructor( color, intensity = 1 ) {
 
-	const color1 = new Color().set( color );
+		super( undefined, intensity );
 
-	// without extra factor of PI in the shader, would be 2 / Math.sqrt( Math.PI );
-	this.sh.coefficients[ 0 ].set( color1.r, color1.g, color1.b ).multiplyScalar( 2 * Math.sqrt( Math.PI ) );
+		Object.defineProperty( this, 'isAmbientLightProbe', { value: true } );
 
-}
-
-AmbientLightProbe.prototype = Object.assign( Object.create( LightProbe.prototype ), {
-
-	constructor: AmbientLightProbe,
-
-	isAmbientLightProbe: true,
-
-	copy: function ( source ) { // modifying color not currently supported
-
-		LightProbe.prototype.copy.call( this, source );
+		const color1 = new Color().set( color );
 
-		return this;
-
-	},
-
-	toJSON: function ( meta ) {
-
-		const data = LightProbe.prototype.toJSON.call( this, meta );
-
-		// data.sh = this.sh.toArray(); // todo
-
-		return data;
+		// without extra factor of PI in the shader, would be 2 / Math.sqrt( Math.PI );
+		this.sh.coefficients[ 0 ].set( color1.r, color1.g, color1.b ).multiplyScalar( 2 * Math.sqrt( Math.PI ) );
 
 	}
 
-} );
+}
 
 export { AmbientLightProbe };