GLSL 内置函数

textureCubeLod()

在顶点阶段按方向和 mip 层级采样立方体贴图。

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

函数签名

vec4 textureCubeLod(samplerCube sampler, vec3 direction, float lod)

参数

sampler
绑定的测试纹理
direction
签名中给出的输入量,类型和尺寸必须匹配
lod
mip 层级,零为原始尺寸

返回值

按给定方向和显式 mip 层级读取立方体贴图得到的 vec4;本例在顶点阶段求值。

在线示例

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

textureCubeLod 做什么

在顶点阶段按方向和 mip 层级采样立方体贴图。

看懂预览

textureCubeLod 在顶点而非每个片段计算 normalize(vec3(x,y,0.7))。在 Vertex 标签把 0.7 改为 2.0,四个角点就都会选中 +Z,而非侧面。

核心调用

textureCubeLod(u_cube,normalize(vec3(x,y,0.7)),u_parameter*7.0).rgb;

顶点采样结果会插值,不能假设和逐片元采样一样。

修改实验

把 Vertex 调用中的 u_parameter*7.0 设为 6.0。它会读取较粗的立方体 mip 并插值角点颜色,顶点之间不会重新构造面上的文字。

规范

GLSL ES 1.00 built-in functions, chapter 8

相关函数