uniformTexture
uniformTexture
一个基础节点,用于将2D图像(Texture)从 JavaScript 传递给着色器,以用作颜色、数据或遮罩贴图。
核心优势
它极大地简化了纹理的使用,自动处理底层的 sampler2D 声明和绑定,并允许通过修改 .value 属性在运行时轻松更换纹理,而无需重新编译着色器。
常见用途
用作基础颜色贴图(Albedo/Diffuse Map),定义物体表面的图案和颜色。
提供PBR数据,如法线贴图、粗糙度贴图,以增强真实感。
作为遮罩(Mask)来控制效果区域或混合多种纹理。
如何调整
通过在节点图中对提供给 .sample() 方法的UV坐标进行数学运算来调整。例如,将UV坐标乘以一个常数(`uv().mul(5)`)可以实现纹理平铺;给UV坐标加上一个随时间变化的值可以实现滚动效果。
代码示例
1// 在 JS 中: const textureNode = uniformTexture( myImageTexture );
2
3// 在 TSL 中,使用 uv() 坐标对纹理进行采样以获取颜色
4material.colorNode = textureNode.sample( uv() );