Var
Var
在着色器中声明一个局部变量,用于存储一个节点(或节点树)的计算结果,以便在多个地方复用,从而避免重复计算和逻辑混乱。
核心优势
确保一个复杂的计算在单次着色器执行中只发生一次,显著提升性能,并能通过为中间结果命名来极大增强节点图的可读性和可维护性。
常见用途
缓存复杂的程序化噪声值
创建可被多处引用的共享动画驱动值
存储用于混合或逻辑判断的遮罩值
如何调整
Var 节点本身无法调整,其输出完全取决于输入节点。要改变 Var 的结果,需要修改传入它的节点树,例如 `Var(uv().mul(10))` 会存储被放大10倍的UV值。
代码示例
1// 1. 定义一个计算(例如一个正弦波)
2const sineWave = timerLocal().sin();
3
4// 2. 使用 Var 将结果存入变量,确保只计算一次
5const myVar = Var( sineWave );
6
7// 3. 在多处复用该变量,例如同时驱动颜色和位置
8const finalColor = color( myVar, myVar, 0 );