Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/flo-bit/shapecraft. flo-bit.dev/shapecraft
Something went wrong. Try again.
598 B · 31 lines
JavaScript
at commit da69385e
1234567891011121314151617181920212223242526272829303132import LightingModel from '../core/LightingModel.js';import { diffuseColor } from '../core/PropertyNode.js';import { float } from '../tsl/TSLBase.js';
class ShadowMaskModel extends LightingModel {
constructor() {
super();
this.shadowNode = float( 1 ).toVar( 'shadowMask' );
}
direct( { shadowMask } ) {
this.shadowNode.mulAssign( shadowMask );
}
finish( context ) {
diffuseColor.a.mulAssign( this.shadowNode.oneMinus() );
context.outgoingLight.rgb.assign( diffuseColor.rgb ); // TODO: Optimize LightsNode to avoid this assignment
}
}
export default ShadowMaskModel;