Load (oggetto Trama DirectX HLSL)

Legge i dati di texel senza filtri o campionamento.

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

typeX indica che esistono quattro tipi possibili: int, int2, int3 o int4.

 

Parametri

Oggetto

Tipo di oggetto trama (ad eccezione di TextureCube o TextureCubeArray).

Posizione

[in] Coordinate della trama; l'ultimo componente specifica il livello mipmap. Questo metodo usa un sistema di coordinate basato su 0 e non un sistema UV 0.0-1.0. Il tipo di argomento dipende dal tipo di oggetto trama.

Tipo di oggetto Tipo di parametro
Buffer INT
Texture1D, Texture2DMS int2
Texture1DArray, Texture2D, Texture2DMSArray int3
Texture2DArray, Texture3D int4

 

Ad esempio, per accedere a una trama 2D, fornire coordinate texel integer per i primi due componenti e un livello mipmap per il terzo componente.

Nota

Quando una o più coordinate in Posizione superano le dimensioni del livello u, v o w mipmap della trama, Load restituisce zero in tutti i componenti. Direct3D garantisce di restituire zero per qualsiasi risorsa a cui si accede all'esterno dei limiti.

 

SampleIndex

[in] Indice di campionamento. Obbligatorio per le trame a più campioni. Non supportato per altre trame.

Tipo trama Tipo di parametro
Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray non supportato
Texture2DMS, Texture2DMSArray¹ INT

Compensare

[in] Offset facoltativo applicato alle coordinate della trama prima del campionamento. Il tipo di offset dipende dal tipo di oggetto trama e deve essere statico.

Tipo trama Tipo di parametro
Texture1D, Texture1DArray INT
Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2
Texture3D int3

 

Nota

SampleIndex deve essere sempre specificato per primo con trame a più campioni.

 

Valore restituito

Il tipo restituito corrisponde al tipo nella dichiarazione Object . Ad esempio, un oggetto Texture2D dichiarato come "Texture2d<uint4> myTexture;" ha un valore restituito di tipo uint4.

Modello minimo shader

Questa funzione è supportata nei modelli di shader seguenti.

vs_4_0 vs_4_1¹ ps_4_0 ps_4_1¹ gs_4_0 gs_4_1¹
x x x x x x

 

  • Il modello shader 4.1 è disponibile in Direct3D 10.1 o versione successiva.

Esempio

Questo esempio di codice parziale proviene dal file Paint.fx nell'esempio 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