code
code
允许在 TSL 节点图中直接插入一段原生 GLSL 代码片段,作为实现自定义逻辑的官方“逃生舱口”。
核心优势
核心价值在于将原生 GLSL 的终极灵活性与 TSL 节点系统的高层模块化无缝结合。你可以在保留节点化优势的同时,实现任何标准节点无法完成的复杂算法或特效。
常见用途
创建自定义的程序化纹理(如 Worley 噪声、分形)
实现高级的顶点动画(如逼真的旗帜飘动)
编写非真实感渲染(NPR)的着色模型(如卡通渲染)
集成并封装第三方的 GLSL 工具函数
如何调整
通过两种方式调整:1. 直接修改 GLSL 代码字符串,从根本上改变其行为(如将 `uv.x` 改为 `uv.y` 使条纹变向)。2. 改变传入的输入节点,例如将控制条纹数量的 `scale` 输入从一个固定的 `uniform(10.0)` 替换为 `timerLocal()`,可以使条纹数量产生动态变化。
代码示例
1// 'uv' 和 'scale' 变量由后续参数自动提供
2const stripes = code(
3 'float p = step(0.5, fract(uv.x * scale)); return vec3(p);',
4 uv(),
5 uniform(10.0)
6);