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)。粗层级的测试图仍然模糊,但采样位置会转向另一侧的相邻纹素。

规范

GLSL ES 3.00 built-in functions, chapter 8

相关函数