Load (objeto de textura HLSL de DirectX)

Lee los datos de elementos de textura sin ningún filtrado ni muestreo.

ret Object.Load(
typeX Location,
[typeX SampleIndex, ]
[typeX Offset ]
);

typeX indica que hay cuatro tipos posibles: int, int2, int3 o int4.

 

Parámetros

Objeto

Tipo de objeto de textura (excepto TextureCube o TextureCubeArray).

Ubicación

[in] Coordenadas de textura; el último componente especifica el nivel de mapa mip. Este método usa un sistema de coordenadas basado en 0 y no un sistema UV 0.0-1.0. El tipo de argumento depende del tipo de objeto de textura.

Tipo de objeto Tipo de parámetro
Buffer int
Texture1D, Texture2DMS int2
Texture1DArray, Texture2D, Texture2DMSArray int3
Texture2DArray, Texture3D int4

 

Por ejemplo, para acceder a una textura 2D, proporcione coordenadas de elementos de textura enteros para los dos primeros componentes y un nivel de mapa mip para el tercer componente.

Nota

Cuando una o varias de las coordenadas de Location superan las dimensiones de nivel de mapa mip u, v o w de la textura, Load devuelve cero en todos los componentes. Direct3D garantiza que devuelve cero para cualquier recurso al que se tenga acceso fuera de los límites.

 

SampleIndex

[in] Índice de muestreo. Se requiere para texturas de varias muestras. No se admite para otras texturas.

Tipo de textura Tipo de parámetro
Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray no admitido
Texture2DMS, Texture2DMSArray¹ int

Compensar

[in] Desplazamiento opcional aplicado a las coordenadas de textura antes del muestreo. El tipo de desplazamiento depende del tipo de objeto de textura y debe ser estático.

Tipo de textura Tipo de parámetro
Texture1D, Texture1DArray int
Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2
Texture3D int3

 

Nota

SampleIndex siempre debe especificarse primero con texturas de varias muestras.

 

Valor devuelto

El tipo devuelto coincide con el tipo de la declaración Object . Por ejemplo, un objeto Texture2D declarado como "Texture2d<uint4> myTexture;" tiene un valor devuelto de tipo uint4.

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

 

  • El modelo de sombreador 4.1 está disponible en Direct3D 10.1 o versiones posteriores.

Ejemplo

Este ejemplo de código parcial procede del archivo Paint.fx del ejemplo AdvancedParticles.

// Object Declarations
Buffer<float4> g_ParticleBuffer;

// Shader body calling the intrinsic function
float4 PSPaint(PSQuadIn input) : SV_Target
{       
    ... 
    for( int i=g_ParticleStart; i<g_NumParticles; i+=g_ParticleStep )
    {
        ... 
        // load the particle
        float4 particlePos = g_ParticleBuffer.Load( i*4 );
        float4 particleColor = g_ParticleBuffer.Load( (i*4) + 2 );
        ...     
    }
    ...
}   

Texture-Object