(載入 DirectX HLSL 紋理物件)
讀取不含任何篩選或取樣的紋素資料。
ret Object.Load (
[typeX SampleIndex, ] [typeX Offset ] |
typeX 表示有四種可能的類型: int、 int2、 int3 或 int4。
參數
-
物件
-
除了 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 );
...
}
...
}
相關主題