Load (objeto de textura HLSL directx)
Lê dados texel sem nenhuma filtragem ou amostragem.
ret Object.Load(
[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 );
...
}
...
}
Tópicos relacionados