GLSL 内置函数
textureProjGradOffset()
组合投影、梯度过滤和固定偏移。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
gvec4 textureProjGradOffset(gsampler2D sampler, vec3 coord, vec2 dx, vec2 dy, ivec2 offset)参数
- sampler
- 绑定的测试纹理
- coord
- 采样坐标
- dx
- 屏幕 X 方向的坐标梯度
- dy
- 屏幕 Y 方向的坐标梯度
- offset
- 编译期常量纹素偏移
返回值
坐标经过投影除法并加入常量纹素偏移后,按显式梯度过滤得到的四个分量。
在线示例
修改右侧代码,左侧预览会实时更新。
textureProjGradOffset 做什么
组合投影、梯度过滤和固定偏移。
看懂预览
投影除数 0.8 和偏移 ivec2(1,0) 都会改变这张模糊网格的读取位置。把偏移设为 ivec2(0,0),可单独查看投影采样。
核心调用
textureProjGradOffset(u_texture,vec3(uv,0.8),vec2(.03,0),vec2(0,.03),ivec2(1,0)).rgb;
不要把投影 q 的分量也传入二维梯度参数。
修改实验
保留偏移与除数,把两个梯度的 .03 改为 .003。图像会增加细节,而投影参数和常量偏移参数仍保持原值。