SampleGrad (objeto de textura HLSL de DirectX)

Muestrea una textura mediante un degradado para influir en la forma en que se calcula la ubicación de la muestra.

<Template Type > Object.SampleGrad( sampler _ state S, float Location, float DDX, float DDY [ , int Offset ] );

Parámetros

Elemento Descripción
Objeto
Cualquier tipo de objeto de textura (excepto Texture2DMS y Texture2DMSArray).
S
[in] Un estado sampler. Se trata de un objeto declarado en un archivo de efecto que contiene asignaciones de estado.
Ubicación
[in] Coordenadas de textura. El tipo de argumento depende del tipo texture-object.
Texture-Object type Tipo de parámetro
Texture1D FLOAT
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4
Texture2DMS, Texture2DMSArray no admitido

DDX

[in] Velocidad de cambio de la geometría de la superficie en la dirección x. El tipo de argumento depende del tipo texture-object.

Texture-Object type Tipo de parámetro
Texture1D, Texture1DArray FLOAT
Texture2D, Texture2DArray float2
Texture3D, TextureCube, TextureCubeArray float3
Texture2DMS, Texture2DMSArray no admitido

DDY

[in] Velocidad de cambio de la geometría de la superficie en la dirección y. El tipo de argumento depende del tipo texture-object.

Texture-Object type Tipo de parámetro
Texture1D, Texture1DArray FLOAT
Texture2D, Texture2DArray float2
Texture3D, TextureCube, TextureCubeArray float3
Texture2DMS, Texture2DMSArray no admitido

Compensar

[in] Desplazamiento de coordenadas de textura opcional, que se puede usar para cualquier tipo de objeto de textura. El desplazamiento se aplica a la ubicación antes del muestreo. Use un desplazamiento solo en un miplevel entero; De lo contrario, puede obtener resultados que no se traducen bien al hardware. El tipo de argumento depende del tipo texture-object. Para obtener más información,vea Aplicar desplazamientos de enteros.

Texture-Object type Tipo de parámetro
Texture1D, Texture1DArray int
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray no admitido
Texture2DMS, Texture2DMSArray no admitido

Valor devuelto

El tipo de plantilla de la textura, que puede ser un vector de uno o varios componentes. El formato se basa en EL FORMATO DXGI de la _ textura.

Modelo mínimo de sombreador

Esta función se admite en los siguientes modelos de sombreador.

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 en Shader Model 4.1 o superior.
  2. El modelo de sombreador 4.1 está disponible en Direct3D 10.1 o posterior.

Ejemplo

Este ejemplo de código parcial es del archivo MotionBlur.fx del ejemplo 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-Object