SampleGrad (DirectX HLSL Texture Object)
Samples a texture using a gradient to influence the way the sample location is calculated.
| DXGI_FORMAT Object.SampleGrad( sampler_state S, float Location, float DDX, float DDY [, int Offset] ); |
Parameters
| Item | Description |
|---|---|
|
Any texture-object type (except Texture2DMS and Texture2DMSArray). | |
|
[in] A Sampler state. This is an object declared in an effect file that contains state assignments. | |
|
[in] The Texture coordinates. The argument type is dependent on the texture-object type. Texture-Object TypeParameter Type Texture1Dfloat Texture1DArray, Texture2Dfloat2 Texture2DArray, Texture3D, TextureCubefloat3 TextureCubeArray¹float4 Texture2DMS, Texture2DMSArraynot supported
| |
|
[in] The rate of change of the surface geometry in the x direction. The argument type is dependent on the texture-object type. Texture-Object TypeParameter Type Texture1D, Texture1DArrayfloat Texture2D, Texture2DArrayfloat2 Texture3D, TextureCube, TextureCubeArray¹float3 Texture2DMS, Texture2DMSArraynot supported
| |
|
[in] The rate of change of the surface geometry in the y direction. The argument type is dependent on the texture-object type. Texture-Object TypeParameter Type Texture1D, Texture1DArrayfloat Texture2D, Texture2DArrayfloat2 Texture3D, TextureCube, TextureCubeArray¹float3 Texture2DMS, Texture2DMSArraynot supported
| |
|
[in] An optional texture coordinate offset, which can be used for any texture-object types. The offset is applied to the location before sampling. Use an offset only at an integer miplevel; otherwise, you may get results that do not translate well to hardware. The argument type is dependent on the texture-object type. For more info, see Applying Integer Offsets. Texture-Object TypeParameter Type Texture1D, Texture1DArrayint Texture2D, Texture2DArrayint2 Texture3Dint3 TextureCube, TextureCubeArray¹not supported Texture2DMS, Texture2DMSArraynot supported
|
Return Value
The texture format which is one of the typed values listed in DXGI_FORMAT.
Minimum Shader Model
This function is supported in the following shader models.
| vs_4_0 | vs_4_1² | ps_4_0 | ps_4_1² | gs_4_0 | gs_4_1² |
|---|---|---|---|---|---|
| x | x | x | x | x | x |
- TextureCubeArray is available in Shader Model 4.1 or higher.
- Shader Model 4.1 is available in Direct3D 10.1 or higher.
Example
This partial code example is from the MotionBlur.fx file in the MotionBlur10 Sample.
// Object Declarations
Texture2D g_txDiffuse;
SamplerState g_samLinear
{
Filter = ANISOTROPIC;
MaxAnisotropy = 8;
AddressU = Wrap;
AddressV = Wrap;
};
struct VSSceneOut
{
float4 Pos : SV_POSITION;
float4 Color : COLOR0;
float2 Tex : TEXCOORD;
float2 Aniso : ANISOTROPY;
};
float4 PSSceneMain( VSSceneOut Input ) : SV_TARGET
{
float2 ddx = Input.Aniso;
float2 ddy = Input.Aniso;
// Shader body calling the intrinsic function
float4 diff = g_txDiffuse.SampleGrad( g_samLinear, Input.Tex, ddx, ddy);
...
}
Related topics