import Light from '../Light';
/**
* @constructor clay.light.Point
* @extends clay.Light
*/
var PointLight = Light.extend(/** @lends clay.light.Point# */ {
/**
* @type {number}
*/
range: 100,
/**
* @type {number}
*/
castShadow: false
}, {
type: 'POINT_LIGHT',
uniformTemplates: {
pointLightPosition: {
type: '3f',
value: function(instance) {
return instance.getWorldPosition().array;
}
},
pointLightRange: {
type: '1f',
value: function(instance) {
return instance.range;
}
},
pointLightColor: {
type: '3f',
value: function(instance) {
var color = instance.color;
var intensity = instance.intensity;
return [color[0] * intensity, color[1] * intensity, color[2] * intensity];
}
}
},
/**
* @return {clay.light.Point}
* @memberOf clay.light.Point.prototype
*/
clone: function() {
var light = Light.prototype.clone.call(this);
light.range = this.range;
return light;
}
});
export default PointLight;