12345678910111213141516171819202122232425262728293031323334 |
- import Node from '../core/Node.js';
- import { add, sub, div, mul, clamp } from '../shadernode/ShaderNodeBaseElements.js';
- class RemapNode extends Node {
- constructor( node, inLowNode, inHighNode, outLowNode, outHighNode ) {
- super();
- this.node = node;
- this.inLowNode = inLowNode;
- this.inHighNode = inHighNode;
- this.outLowNode = outLowNode;
- this.outHighNode = outHighNode;
- this.doClamp = true;
- }
- construct() {
- const { node, inLowNode, inHighNode, outLowNode, outHighNode, doClamp } = this;
- let t = div( sub( node, inLowNode ), sub( inHighNode, inLowNode ) );
- if ( doClamp === true ) t = clamp( t );
- return add( mul( sub( outHighNode, outLowNode ), t ), outLowNode );
- }
- }
- export default RemapNode;
|