Load (objet de texture HLSL DirectX)

Lit les données texel sans filtrage ni échantillonnage.

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

typeX indique qu’il existe quatre types possibles : int, int2, int3 ou int4.

 

Paramètres

Objet

Type d’objet de texture (à l’exception de TextureCube ou TextureCubeArray).

Emplacement

[in] Coordonnées de texture ; le dernier composant spécifie le niveau mipmap. Cette méthode utilise un système de coordonnées basé sur 0 et non un système UV 0.0-1.0. Le type d’argument dépend du type d’objet de texture.

Type d'objet Type de paramètre
Buffer int
Texture1D, Texture2DMS int2
Texture1DArray, Texture2D, Texture2DMSArray int3
Texture2DArray, Texture3D int4

 

Par exemple, pour accéder à une texture 2D, fournissez des coordonnées texel entières pour les deux premiers composants et un niveau mipmap pour le troisième composant.

Notes

Lorsqu’une ou plusieurs des coordonnées dans Emplacement dépassent les dimensions u, v ou w mipmap de la texture, load retourne zéro dans tous les composants. Direct3D garantit le retour de zéro pour toute ressource accessible hors limites.

 

SampleIndex

[in] Index d’échantillonnage. Obligatoire pour les textures à plusieurs exemples. Non pris en charge pour les autres textures.

Texture Type Type de paramètre
Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray non pris en charge
Texture2DMS, Texture2DMSArray¹ int

Compenser

[in] Décalage facultatif appliqué aux coordonnées de texture avant l’échantillonnage. Le type offset dépend du type texture-objet et doit être statique.

Texture Type Type de paramètre
Texture1D, Texture1DArray int
Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2
Texture3D int3

 

Notes

SampleIndex doit toujours être spécifié en premier avec des textures à plusieurs échantillons.

 

Valeur renvoyée

Le type de retour correspond au type dans la déclaration Object . Par exemple, un objet Texture2D qui a été déclaré comme « Texture2d<uint4> myTexture; » a une valeur de retour de type uint4.

Modèle de nuanceur minimal

Cette fonction est prise en charge dans les modèles de nuanceur suivants.

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

 

  • Shader Model 4.1 est disponible dans Direct3D 10.1 ou version ultérieure.

Exemple

Cet exemple de code partiel provient du fichier Paint.fx dans l’exemple 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