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 层,其插值颜色会改变,但不会增加网格细节。