Load (objeto de textura HLSL de DirectX)
Lee los datos de elementos de textura sin ningún filtrado ni muestreo.
ret Object.Load(
[typeX SampleIndex, ] [typeX Offset ] |
typeX indica que hay cuatro tipos posibles: int, int2, int3 o int4.
Parámetros
-
Objeto
-
Tipo de objeto de textura (excepto TextureCube o TextureCubeArray).
-
Ubicación
-
[in] Coordenadas de textura; el último componente especifica el nivel de mapa mip. Este método usa un sistema de coordenadas basado en 0 y no un sistema UV 0.0-1.0. El tipo de argumento depende del 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 ejemplo, para acceder a una textura 2D, proporcione coordenadas de elementos de textura enteros para los dos primeros componentes y un nivel de mapa mip para el tercer componente.
Nota
Cuando una o varias de las coordenadas de Location superan las dimensiones de nivel de mapa mip u, v o w de la textura, Load devuelve cero en todos los componentes. Direct3D garantiza que devuelve cero para cualquier recurso al que se tenga acceso fuera de los límites.
-
SampleIndex
-
[in] Índice de muestreo. Se requiere para texturas de varias muestras. No se admite para otras texturas.
Tipo de textura Tipo de parámetro Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray no admitido Texture2DMS, Texture2DMSArray¹ int -
Compensar
-
[in] Desplazamiento opcional aplicado a las coordenadas de textura antes del muestreo. El tipo de desplazamiento depende del tipo de objeto de textura y debe ser estático.
Tipo de textura Tipo de parámetro Texture1D, Texture1DArray int Texture2D, Texture2DArray, Texture2DMS, Texture2DMSArray int2 Texture3D int3 Nota
SampleIndex siempre debe especificarse primero con texturas de varias muestras.
Valor devuelto
El tipo devuelto coincide con el tipo de la declaración Object . Por ejemplo, un objeto Texture2D declarado como "Texture2d<uint4> myTexture;" tiene un valor devuelto de tipo uint4.
Modelo de sombreador mínimo
Esta función se admite en los siguientes modelos de sombreador.
vs_4_0 | vs_4_1¹ | ps_4_0 | ps_4_1¹ | gs_4_0 | gs_4_1¹ |
---|---|---|---|---|---|
x | x | x | x | x | x |
- El modelo de sombreador 4.1 está disponible en Direct3D 10.1 o versiones posteriores.
Ejemplo
Este ejemplo de código parcial procede del archivo Paint.fx del ejemplo 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 );
...
}
...
}
Temas relacionados