Load (objeto de textura HLSL directx)

Lê dados texel sem nenhuma filtragem ou amostragem.

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

TypeX indica que há quatro tipos possíveis: int, int2, int3 ou int4.

 

Parâmetros

Objeto

Um tipo de objeto de textura (exceto TextureCube ou TextureCubeArray).

Localização

[in] As coordenadas de textura; o último componente especifica o nível de mipmap. Esse método usa um sistema de coordenadas baseado em 0 e não um sistema UV 0.0-1.0. O tipo de argumento depende do 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 exemplo, para acessar uma textura 2D, forneça coordenadas texel inteiros para os dois primeiros componentes e um nível de mipmap para o terceiro componente.

Observação

Quando uma ou mais coordenadas em Location excedem as dimensões de nível u, v ou w mipmap da textura, Load retorna zero em todos os componentes. O Direct3D garante retornar zero para qualquer recurso que seja acessado fora dos limites.

 

SampleIndex

[in] Um índice de amostragem. Necessário para texturas de várias amostras. Não há suporte para outras texturas.

Tipo de textura Tipo de parâmetro
Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray sem suporte
Texture2DMS, Texture2DMSArray¹ INT

Deslocamento

[in] Um deslocamento opcional aplicado às coordenadas de textura antes da amostragem. O tipo de deslocamento depende do tipo de objeto de textura e precisa ser estático.

Tipo de textura Tipo de parâmetro
Texture1D, Texture1DArray INT
Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2
Texture3D int3

 

Observação

SampleIndex sempre deve ser especificado primeiro com texturas de várias amostras.

 

Valor Retornado

O tipo de retorno corresponde ao tipo na declaração Object . Por exemplo, um objeto Texture2D declarado como "Texture2d<uint4> myTexture;" tem um valor retornado do tipo uint4.

Modelo de sombreador mínimo

Essa função tem suporte nos modelos de sombreador a seguir.

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

 

  • O Modelo de Sombreador 4.1 está disponível no Direct3D 10.1 ou superior.

Exemplo

Este exemplo de código parcial é do arquivo Paint.fx no exemplo 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 );
        ...     
    }
    ...
}   

Objeto Texture