Light | Dark

# docs.GL

GLSL 4
GLSL ES 3

# textureGrad

## Name

textureGrad — perform a texture lookup with explicit gradients

## Declaration

`gvec4 textureGrad(` | gsampler1D sampler,
| float P,
| float dPdx,
| float dPdy`)`;

`gvec4 textureGrad(` | gsampler2D sampler,
| vec2 P,
| vec2 dPdx,
| vec2 dPdy`)`;

`gvec4 textureGrad(` | gsampler3D sampler,
| vec3 P,
| vec3 dPdx,
| vec3 dPdy`)`;

`gvec4 textureGrad(` | gsamplerCube sampler,
| vec3 P,
| vec3 dPdx,
| vec3 dPdy`)`;

`gvec4 textureGrad(` | gsampler2DRect sampler,
| vec2 P,
| vec2 dPdx,
| vec2 dPdy`)`;

`float textureGrad(` | gsampler2DRectShadow sampler,
| vec2 P,
| vec2 dPdx,
| vec2 dPdy`)`;

`float textureGrad(` | sampler1DShadow sampler,
| vec3 P,
| float dPdx,
| float dPdy`)`;

`float textureGrad(` | sampler2DShadow sampler,
| vec3 P,
| vec2 dPdx,
| vec2 dPdy`)`;

`gvec4 textureGrad(` | gsampler1DArray sampler,
| vec2 P,
| float dPdx,
| float dPdy`)`;

`gvec4 textureGrad(` | gsampler2DArray sampler,
| vec3 P,
| vec2 dPdx,
| vec2 dPdy`)`;

`float textureGrad(` | sampler1DArrayShadow sampler,
| vec3 P,
| float dPdx,
| float dPdy`)`;

`gvec4 textureGrad(` | gsamplerCubeArray sampler,
| vec4 P,
| vec3 dPdx,
| vec3 dPdy`)`;

## Parameters

`sampler`

  Specifies the sampler to which the texture from which texels will be retrieved is bound.

`P`

  Specifies the texture coordinates at which texture will be sampled.

`dPdx`

  Specifies the partial derivative of `P` with respect to window x.

`dPdy`

  Specifies the partial derivative of `P` with respect to window y.

## Description

`textureGrad` performs a texture lookup at coordinate `P` from the texture bound to `sampler` with explicit texture coordinate gradiends as specified in `dPdx` and `dPdy`. Set:

δs δx = δP δx for a 1D texture, δP.s δx otherwise

δs δy = δP δy for a 1D texture, δP.s δy otherwise

δt δx = 0.0 for a 1D texture, δP.t δx otherwise

δt δy = 0.0 for a 1D texture, δP.t δy otherwise

δr δx = 0.0 for a 1D or 2D texture, δP.p δx otherwise

δr δy = 0.0 for a 1D or 2D texture, δP.p δy otherwise

For the cube version, the partial derivatives of `P` are assumed to be in the coordinate system used before texture coordinates are projected onto the appropriate cube face.

## Version Support

| OpenGL Shading Language Version
--- | ---
Function Name | 1.10 | 1.20 | 1.30 | 1.40 | 1.50 | 3.30 | 4.00 | 4.10 | 4.20 | 4.30 | 4.40 | 4.50
textureGrad | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔
textureGrad (gsampler2DRect{Shadow}) | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔
textureGrad (gsamplerCubeArray) | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

texelFetch, texelFetchOffset, texture, textureGather, textureGatherOffset, textureGatherOffsets, textureGradOffset, textureLod, textureLodOffset, textureOffset, textureProj, textureProjGrad, textureProjGradOffset, textureProjLod, textureProjLodOffset, textureProjOffset, textureQueryLod, textureSize

## Copyright

Copyright © 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.

Think you can improve this page? Edit this page on GitHub.