GLSL的textureProjGradOffset函数用于在进行透视校正时,根据图像坐标及纹理偏移量返回纹素值的4D向量。
该函数使用有向裁剪空间坐标作为输入坐标,并返回与指定偏移量相对应的纹素值。
vec4 textureProjGradOffset(sampler2DGradOffset sampler, vec4 P, vec4 dPdx, vec4 dPdy, float offset)
参数 | 描述 |
---|---|
sampler | 纹理单元 |
P | 有向裁剪空间坐标 |
dPdx | P中x轴方向的变化率 |
dPdy | P中y轴方向的变化率 |
offset | 纹理偏移量 |
四维向量,表示纹素值。
如果纹理单元没有绑定,该函数会引发运行时错误。
uniform sampler2DGradOffset texture;
vec4 P = vec4(0.5, 0.5, 0.5, 1.0);
vec4 dPdx = vec4(0.1, 0.0, 0.0, 0.0);
vec4 dPdy = vec4(0.0, 0.1, 0.0, 0.0);
float offset = 0.0;
vec4 result = textureProjGradOffset(texture, P, dPdx, dPdy, offset);