nodeProxy
nodeProxy
一个 TSL 内部的工厂函数,用于高效地定义新的节点函数,并且是实现流畅链式 API(如 .mul())的核心机制。
核心优势
通过代码抽象和重用(DRY 原则),极大地简化了 TSL 库内部节点的定义,并为最终开发者提供了直观、流畅的链式调用语法。
常见用途
(内部工具)在库中定义基础数学函数(如 sin, abs)
(内部工具)创建核心输入节点(如 uv, positionWorld)
(内部工具)包装需要参数的节点类(如 texture)
如何调整
调整是在库开发阶段,通过改变传递给 `nodeProxy` 的参数来完成的。例如,将第二个参数从 `MathNode.SIN` 改为 `MathNode.ABS`,会使生成的函数从计算正弦值变为计算绝对值,从而定义出一个功能完全不同的新节点。
代码示例
1// 在 TSL 库内部,像这样定义一个新函数:
2const saturate = nodeProxy( MathNode, MathNode.SATURATE );