Load (oggetto Trama DirectX HLSL)
Legge i dati di texel senza filtri o campionamento.
ret Object.Load(
[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 );
...
}
...
}
Argomenti correlati