SampleGrad (objet de texture HLSL DirectX)

Échantillonne une texture à l’aide d’un dégradé pour influencer la façon dont l’emplacement de l’exemple est calculé.

<Type de> modèle Object.SampleGrad( sampler_state S, float Location, float DDX, float DDY [, int Offset] );

Paramètres

Élément Description
Objet
N’importe quel type d’objet de texture (à l’exception de Texture2DMS et Texture2DMSArray).
S
[in] État Sampler. Il s’agit d’un objet déclaré dans un fichier d’effet qui contient des attributions d’état.
Emplacement
[in] Coordonnées de texture. Le type d’argument dépend du type texture-objet.
type Texture-Object Type de paramètre
Texture1D float
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4
Texture2DMS, Texture2DMSArray non pris en charge

DDX

[in] Taux de modification de la géométrie de surface dans la direction x. Le type d’argument dépend du type texture-objet.

type Texture-Object Type de paramètre
Texture1D, Texture1DArray float
Texture2D, Texture2DArray float2
Texture3D, TextureCube, TextureCubeArray float3
Texture2DMS, Texture2DMSArray non pris en charge

DDY

[in] Taux de modification de la géométrie de surface dans le sens y. Le type d’argument dépend du type texture-objet.

type Texture-Object Type de paramètre
Texture1D, Texture1DArray float
Texture2D, Texture2DArray float2
Texture3D, TextureCube, TextureCubeArray float3
Texture2DMS, Texture2DMSArray non pris en charge

Compenser

[in] Décalage de coordonnées de texture facultatif, qui peut être utilisé pour tous les types d’objets de texture. Le décalage est appliqué à l’emplacement avant l’échantillonnage. Utilisez un décalage uniquement à un miplevel entier ; sinon, vous pouvez obtenir des résultats qui ne se traduisent pas bien en matériel. Le type d’argument dépend du type texture-objet. Pour plus d’informations, consultezApplication de décalages d’entiers.

type Texture-Object Type de paramètre
Texture1D, Texture1DArray int
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray non pris en charge
Texture2DMS, Texture2DMSArray non pris en charge

Valeur renvoyée

Type de modèle de la texture, qui peut être un vecteur monocomposant ou multicomposant. Le format est basé sur la DXGI_FORMAT de la texture.

Modèle de nuanceur minimal

Cette fonction est prise en charge dans les modèles de nuanceur suivants.

vs_4_0 vs_4_1 ps_4_0 ps_4_1 gs_4_0 gs_4_1
x x x x x x
  1. TextureCubeArray est disponible dans le modèle de nuanceur 4.1 ou version ultérieure.
  2. Le modèle de nuanceur 4.1 est disponible dans Direct3D 10.1 ou version ultérieure.

Exemple

Cet exemple de code partiel provient du fichier MotionBlur.fx dans l’exemple MotionBlur10.

// 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);
    
    ...
}

Texture-Objet