vec4 textureGrad(sampler2D sam, vec2 uv, vec2 dPdx, vec2 dPdy);
textureGrad函数用于根据纹理坐标和相邻像素的差异返回相邻像素的插值。相邻像素的差异由参数dPdx和dPdy确定。
此函数可用于图像抽取和纹理过滤,其中dPdx和dPdy可以表示基于当前坐标x对图像进行微小变化的梯度。textureGrad函数将片段的梯度dPdx和dPdy作为参数,可以更准确地计算出图像的局部线性变化,而不是使用估计或近似值。
textureGrad函数的返回值是通过纹理坐标进行插值的纹理颜色值。sampler2D类型的参数sam指定哪个纹理单元在读取纹理时使用。
返回纹理颜色值。如果指定的纹理无效,则返回0.
vec2 dPdx = dFdx(v_texcoord.xy);
vec2 dPdy = dFdy(v_texcoord.xy);
vec4 texColor = textureGrad(u_sampler, v_texcoord.xy, dPdx, dPdy);