SampleGrad (objeto de textura HLSL de DirectX)
Muestra una textura mediante un degradado para influir en la forma en que se calcula la ubicación de ejemplo.
<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 efectos que contiene asignaciones de estado. |
||||||||||||
Ubicación |
[in] Coordenadas de textura. El tipo de argumento depende del tipo de objeto de textura.
|
||||||||||||
DDX |
[in] Velocidad de cambio de la geometría de la superficie en la dirección x. El tipo de argumento depende del tipo de objeto de textura.
|
||||||||||||
DDY |
[in] Velocidad de cambio de la geometría de la superficie en la dirección y. El tipo de argumento depende del tipo de objeto de textura.
|
||||||||||||
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 en hardware. El tipo de argumento depende del tipo de objeto de textura. Para obtener más información, consultaAplicar desplazamientos enteros.
|
Valor devuelto
El tipo de plantilla de la textura, que puede ser un vector de un solo componente o de varios componentes. El formato se basa en el DXGI_FORMAT de la textura.
Modelo de sombreador mínimo
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 |
- TextureCubeArray está disponible en Shader Model 4.1 o superior.
- El modelo de sombreador 4.1 está disponible en Direct3D 10.1 o superior.
Ejemplo
Este ejemplo de código parcial procede 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);
...
}