GLSL 内置函数

texture2DLod()

在 ES 1.00 顶点阶段显式指定二维纹理层级。

示例版本:GLSL ES 1.00 / WebGL 1示例阶段:顶点

函数签名

vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod)

参数

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

返回值

顶点着色器中按显式二维 mip 层级采样得到的 vec4,遵循纹理过滤设置。

在线示例

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

texture2DLod 做什么

在 ES 1.00 顶点阶段显式指定二维纹理层级。

看懂预览

顶点着色器只在四边形顶点执行 texture2DLod(u_texture,uv,u_parameter*7.0),内部颜色由插值得到。把层级表达式设为 0.0 后,内部仍不会出现完整网格,因为没有逐片段采样。

核心调用

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

核心 ES 1.00 的这个名字用于顶点阶段,片段阶段需相应扩展。

修改实验

在 Vertex 标签中把 u_parameter*7.0 换成 6.0。角点将读取粗 mip 层,其插值颜色会改变,但不会增加网格细节。

规范

GLSL ES 1.00 built-in functions, chapter 8

相关函数