tex3Dgrad

Samples a 3D texture using a gradient to select the mip level.

ret tex3Dgrad(s, t, ddx, ddy)

Parameters

Item Description
s
[in] The sampler state.
t
[in] The texture coordinate.
ddx
[in] Rate of change of the surface geometry in the x direction.
ddy
[in] Rate of change of the surface geometry in the y direction.

Return Value

The value of the texture data.

Type Description

Name In/Out Template Type Component Type Size
s in object sampler3D 1
t in vector float 3
ddx in vector float 3
ddy in vector float 3
ret out vector float 4

Minimum Shader Model

This function is supported in the following shader models.

Shader Model Supported
Shader Model 4 yes (pixel shader only)
Shader Model 3 (DirectX HLSL) yes (pixel shader only)
Shader Model 2 (DirectX HLSL) yes (pixel shader only)
Shader Model 1 (DirectX HLSL) no
  1. Significant code reordering is done to move gradient computations outside of flow control.
  2. If the D3DPSHADERCAPS2_0 cap is set with D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS, the compiler maps this function to texldd.

Remarks

When flow control is present in a shader, the result of a gradient calculation requested inside a given branch path is ambiguous when adjacent pixels may go down separate flow control paths. Therefore, it is deemed illegal to use any pixel shader operation that requests a gradient calculation to occur at a location that is inside a flow control construct which could vary across pixels for a given primitive being rasterized. If either side of an if statement with the branch attribute uses a gradient function a compiler error may be generated. See if Statement (DirectX HLSL).

See also

Intrinsic Functions (DirectX HLSL)