GLSL 内置函数

textureLod()

显式选择浮点 mip 层级。

示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段

函数签名

gvec4 textureLod(gsampler2D sampler, vec2 coord, float lod)

参数

sampler
绑定的测试纹理
coord
采样坐标
lod
mip 层级,零为原始尺寸

返回值

显式浮点 mip 层级处的四个采样分量;过滤可混合纹素及相邻 mip 层。

在线示例

修改右侧代码,左侧预览会实时更新。

textureLod 做什么

显式选择浮点 mip 层级。

看懂预览

滑块增大时,u_parameter*7.0 选择越来越粗的 mip。把该表达式换成 0.0,生成的 GLSL 文字会始终使用原始纹理分辨率。

核心调用

textureLod(u_texture,uv,u_parameter*7.0).rgb;

没有生成 mip 链时,不能靠指定 LOD 获得正确低分辨率图像。

修改实验

把 textureLod 的层级参数设为 6.0。256 像素测试图会按约 4 像素的 mip 尺寸采样,网格和文字会融成大片颜色。

规范

GLSL ES 3.00 built-in functions, chapter 8

相关函数