Load (objeto de textura HLSL de DirectX)

Lee datos de texel 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

Un tipo de objeto de textura (excepto TextureCube o TextureCubeArray).

Ubicación

[en ] 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 texture-object.

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

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

Nota

Cuando una o varias de las coordenadas de Ubicación superan las dimensiones de nivel mipmap u, v o w de la textura, Load devuelve cero en todos los componentes. Direct3D garantiza devolver cero para cualquier recurso al que se accede fuera de los límites.

SampleIndex

[en ] Un índice de muestreo opcional.

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

Nota

SampleIndex solo está disponible para texturas de varios ejemplos.

Compensar

[en ] Un desplazamiento opcional aplicado a las coordenadas de textura antes del muestreo. El tipo de desplazamiento depende del tipo texture-object y debe ser estático.

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

Nota

Si usa Offset con texturas de varias muestras, también debe especificar SampleIndex.

Valor devuelto

El tipo de valor 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 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
  • El modelo de sombreador 4.1 está disponible en Direct3D 10.1 o posterior.

Ejemplo

Este ejemplo de código parcial es 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