vec4 textureLod(sampler2D sampler, vec2 coord, float lod)
vec4 textureLod(samplerCube sampler, vec3 coord, float lod)
函数名称 | 数据类型 | 描述 |
---|---|---|
sampler | sampler2D 或 samplerCube | 表示采样器 |
coord | vec2 或 vec3 | 表示采样坐标 |
lod | float | 表示使用的采样器的LOD值 |
该函数用于基于给定的LOD值,在纹理中从给定坐标处进行采样。
函数将返回 vec4 值,表示采样到的颜色值。对于 alpha 只有格式,函数将返回此颜色值的 .a组件。
sampler2D 或 samplerCube 类型的采样器。
采样坐标可能为 vec2 或 vec3,具体取决于采样器类型。 对于采样器2D,coord应该是 vec2 类型,因为是从二维平面中进行采样; 对于采样器Cube,coord应该是 vec3 类型,因为是从三维立方体中进行采样。
lod 值表示要使用的级别细节。lod值增加时,使用的纹理大小将减小,因此提高了性能和质量。 例如,一个很高的LOD值会取得较小的纹理大小并且用更少的采样。 在另一方面,低LOD值会取得较大的纹理大小并进行较多的采样。
以下是使用 textureLod 采样器的示例:
// 使用textureLod对纹理进行采样
uniform sampler2D sampler;
varying vec2 texCoord;
void main()
{
gl_FragColor = textureLod(sampler, texCoord, 2.0);
}