GLSL 内置函数
textureProjLodOffset()
组合投影、显式层级和固定偏移。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
gvec4 textureProjLodOffset(gsampler2D sampler, vec3 coord, float lod, ivec2 offset)参数
- sampler
- 绑定的测试纹理
- coord
- 采样坐标
- lod
- mip 层级,零为原始尺寸
- offset
- 编译期常量纹素偏移
返回值
投影除法并叠加常量纹素偏移后,在显式 mip 层级读取的四个分量。
在线示例
修改右侧代码,左侧预览会实时更新。
textureProjLodOffset 做什么
组合投影、显式层级和固定偏移。
看懂预览
textureProjLodOffset 同时使用除数 0.8、滑块选定的层级和 ivec2(1,0)。把偏移设为 ivec2(0,0),就能对照同一投影 mip 在没有纹素位移时的结果。
核心调用
textureProjLodOffset(u_texture,vec3(uv,0.8),u_parameter*6.0,ivec2(1,0)).rgb;
偏移必须是编译期常量,层级可以由 uniform 改变。
修改实验
把 u_parameter*6.0 换成 5.0,并将偏移设为 ivec2(-1,0)。粗层级的测试图仍然模糊,但采样位置会转向另一侧的相邻纹素。