GLSL 内置函数
textureCube()
按三维方向采样立方体贴图。
示例版本:GLSL ES 1.00 / WebGL 1示例阶段:片段
函数签名
vec4 textureCube(samplerCube sampler, vec3 direction)参数
- sampler
- 绑定的测试纹理
- direction
- 签名中给出的输入量,类型和尺寸必须匹配
返回值
按方向绝对值最大的分量选择立方体面,再在该面对应坐标采样得到的 vec4。
在线示例
修改右侧代码,左侧预览会实时更新。
textureCube 做什么
按三维方向采样立方体贴图。
看懂预览
normalize(vec3(x,y,0.7)) 让预览中央朝向立方体的 +Z 面。把 0.7 改成 2.0,+Z 会在所有可见方向中占优,并铺满画布。
核心调用
textureCube(u_cube,normalize(vec3(x,y,0.7))).rgb;
输入是方向,不是二维 UV;预览的六面分别有方向标记。
修改实验
把方向改为 normalize(vec3(x,y,-0.7))。中央面会从 +Z 换成 -Z,可从生成的面标签和底色识别变化。