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)。常量偏移会改为沿纹理坐标向下,投影除法保持不变。

规范

GLSL ES 3.00 built-in functions, chapter 8

相关函数