(載入 DirectX HLSL 紋理物件)

讀取不含任何篩選或取樣的紋素資料。

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

typeX 表示有四種可能的類型: intint2int3int4

 

參數

物件

除了 TextureCube 或 TextureCubeArray) 以外,紋理 物件 類型 (。

位置

[in]紋理座標;最後一個元件會指定 mipmap 層級。 此方法使用以 0 為基礎的座標系統,而不是 0.0-1.0 UV 系統。 引數類型相依于紋理物件類型。

物件類型 參數類型
Buffer int
Texture1D、Texture2DMS int2
Texture1DArray、Texture2D、Texture2DMSArray int3
Texture2DArray, Texture3D int4

 

例如,若要存取 2D 紋理,請為前兩個元件提供整數紋素座標,並為第三個元件提供 mipmap 層級。

注意

Location 中的一或多個座標超過紋理的 u、v 或 w mipmap 層級維度時, Load 會在所有元件中傳回零。 Direct3D 保證會針對超出界限存取的任何資源傳回零。

 

SampleIndex

[in]取樣索引。 多重樣本紋理的必要專案。 不支援其他紋理。

紋理類型 參數類型
Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, Texture2DArray, TextureCube, TextureCubeArray 不支援
Texture2DMS、Texture2DMSArray¹ int

抵消

[in]取樣之前套用至紋理座標的選擇性位移。 位移類型取決於紋理物件類型,而且必須是靜態的。

紋理類型 參數類型
Texture1D、Texture1DArray int
Texture2D、Texture2DArray、Texture2DMS、Texture2DMSArray int2
Texture3D int3

 

注意

SampleIndex 一律必須先使用多重取樣紋理來指定。

 

傳回值

傳回型別符合 Object 宣告中的類型。 例如,宣告為 「Texture2d < uint4 > myTexture」 的 Texture2D 物件具有 uint4類型的傳回值。

最小著色器模型

下列著色器模型中支援此函式。

vs_4_0 vs_4_1 ー ps_4_0 ps_4_1 ー gs_4_0 gs_4_1 ー
x x x x x x

 

  • 著色器模型 4.1 可在 Direct3D 10.1 或更高版本中使用。

範例

這個部分程式碼範例來自 AdvancedParticles 範例中的 Paint.fx 檔案。

// 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