12345678910111213141516171819202122232425262728293031 |
- import LightingModel from '../core/LightingModel.js';
- import { diffuseColor } from '../core/PropertyNode.js';
- import { float } from '../shadernode/ShaderNode.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;
|