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 并插值角点颜色,顶点之间不会重新构造面上的文字。