GLSL 内置函数

texture2DProjLod()

在顶点阶段组合投影坐标和指定 mip 层级。

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

函数签名

vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod)

参数

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

返回值

一个 vec4,采样坐标先除以投影分量,再按显式 mip 层级读取二维纹理。

在线示例

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

texture2DProjLod 做什么

在顶点阶段组合投影坐标和指定 mip 层级。

看懂预览

顶点调用使用 vec3(uv,1.0),投影除法目前不会改变 UV,随后才按显式层级采样。把 1.0 改为 2.0,插值角点颜色就会来自纹理左下四分之一。

核心调用

texture2DProjLod(u_texture,vec3(uv,1.0),u_parameter*7.0).rgb;

需要 mip 链,LOD 不是模糊半径,且这里在顶点阶段运行。

修改实验

在 Vertex 源码里把 u_parameter*7.0 设为 7.0。顶点会读取很粗的 mip,四边形因此只混合粗略颜色,不能显示清晰文字。

规范

GLSL ES 1.00 built-in functions, chapter 8

相关函数