GLSL 内置函数
textureOffset()
用固定纹素偏移进行过滤采样。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
gvec4 textureOffset(gsampler2D sampler, vec2 coord, ivec2 offset)参数
- sampler
- 绑定的测试纹理
- coord
- 采样坐标
- offset
- 编译期常量纹素偏移
返回值
在 coord 上加入常量纹素偏移后得到的四个过滤分量,mip 覆盖范围由隐式规则选择。
在线示例
修改右侧代码,左侧预览会实时更新。
textureOffset 做什么
用固定纹素偏移进行过滤采样。
看懂预览
textureOffset(u_texture,uv,ivec2(3,0)) 把网格的采样位置横移所采样层级的三个纹素。改用 ivec2(0,0),即可显示未偏移的对照图。
核心调用
textureOffset(u_texture,uv,ivec2(3,0)).rgb;
offset 的单位是纹素,不是 UV;不能用 uniform 作为 offset。
修改实验
把最后一个参数改成 ivec2(-3,0)。文字会向相反的屏幕方向移动;这里改变的是读取位置,并未旋转图片或修改颜色。