textureLodOffset函数实现了纹理取样器在一个偏移上的具有指定LOD的2D纹理采样。
vec4 textureLodOffset(sampler2D sampler, vec2 coord, float lod, vec2 offset)
函数返回对应采样器的纹理值。
此函数使用采样器对象和提供的纹理坐标和LoD计算出所需的采样器颜色值。偏移量向量指定了从纹理坐标中心到采样位置的偏移量。
该函数使用了用户指定的最高LOD级别,从而计算出所需的纹理颜色值。当被指定的LOD级别低于对象的最大LOD级别时,实现将自动成功地降低LOD来适应给定的LOD级别。
此函数的计算方式如下所示:
uniform sampler2D mySampler;
varying vec2 texCoord;
void main() {
vec4 texelColor = textureLodOffset(mySampler, texCoord, 0.0, vec2(0.5, 0.5));
gl_FragColor = texelColor;
}
该代码片段演示了如何使用textureLodOffset函数从所选采样器中获取特定LOD级别处的纹理采样器颜色值,则返回值为采样的纹理颜色值。
函数textureLodOffset在GLSL 1.30版中首次引入。