getConstNodeType
getConstNodeType
一个 TSL 内部的 JavaScript 辅助函数,其核心任务是通过检查一个 JS 值来推断出它对应的 TSL/GLSL 类型字符串(如 'float', 'vec3')。
核心优势
它将复杂的类型推断逻辑封装起来,使 TSL 内部代码更简洁、一致且易于维护。它是 TSL 提供便捷“语法糖”(如 `add(node, 0.5)`)的幕后功臣之一。
常见用途
在 `const()` 或 `toNode()` 内部,用于决定创建何种类型的常量节点。
在数学函数(如 `add()`)内部,用于解析重载的参数类型。
在 TSL 编译器(NodeBuilder)中,作为类型验证系统的一部分。
如何调整
这是一个无状态的内部纯函数,无法“调整”。其行为完全由传入的 JS 值决定。例如,传入一个 `vec3()` 节点会返回 'vec3',而传入一个普通数字则返回 `null`,这会触发 TSL 系统后续不同的类型处理逻辑。
代码示例
1// 示例用法(概念性):
2getConstNodeType( vec3( 1, 0, 0 ) ); // 返回 'vec3'
3getConstNodeType( 'color' ); // 返回 'color'
4getConstNodeType( 123.45 ); // 返回 null (由其他检查处理)