screenUV
screenUV
在 TSL 片元着色器中,提供一个与分辨率无关的、始终在 [0, 1] 范围内的标准化屏幕坐标。
核心优势
其分辨率无关性确保了视觉效果在任何屏幕上表现一致,同时它作为后期处理的标准坐标系,极大地简化了对屏幕纹理的采样和操作。
常见用途
作为后期处理特效(如模糊、色彩校正)采样屏幕纹理的标准坐标。
生成程序化的屏幕空间图案,如渐变、条纹或扭曲效果。
直接输出以可视化UV坐标,用于调试。
如何调整
此节点本身不可调整。其效果通过对其输出的 `vec2` 坐标进行数学运算来改变。例如:乘以一个常数可实现平铺/缩放;加上一个时间值可实现滚动效果;使用 `oneMinus()` 可垂直或水平翻转坐标系。
代码示例
1// 将坐标系的原点从左下角移动到屏幕中心
2const centeredUV = screenUV.sub( 0.5 );
3
4// 计算当前像素到屏幕中心的距离
5const dist = length( centeredUV );
6
7// 将这个距离值作为颜色输出,形成一个从中心(黑)向外的径向渐变
8material.colorNode = color( dist.mul( 2.0 ) );