GLSL 内置函数
textureProjOffset()
投影采样后增加固定纹素偏移。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
gvec4 textureProjOffset(gsampler2D sampler, vec3 coord, ivec2 offset)参数
- sampler
- 绑定的测试纹理
- coord
- 采样坐标
- offset
- 编译期常量纹素偏移
返回值
投影后的纹理坐标再加上常量整数纹素偏移,过滤采样得到的四个分量。
在线示例
修改右侧代码,左侧预览会实时更新。
textureProjOffset 做什么
投影采样后增加固定纹素偏移。
看懂预览
vec3(uv,0.8) 拉伸读取坐标,ivec2(3,0) 再叠加横向位移。把除数设为 1.0,就能在未缩放的网格上单独观察横向偏移。
核心调用
textureProjOffset(u_texture,vec3(uv,0.8),ivec2(3,0)).rgb;
投影除法和整数纹素偏移属于不同的坐标操作。
修改实验
把 ivec2(3,0) 改成 ivec2(0,-3)。常量偏移会改为沿纹理坐标向下,投影除法保持不变。