共用方式為


D3DXFillTextureTX 函式

使用編譯的高階著色器語言 (HLSL) 函式,填滿紋理每個 Mipmap 層級的每個紋素。

語法

HRESULT D3DXFillTextureTX(
  _Inout_ LPDIRECT3DTEXTURE9  pTexture,
  _In_    LPD3DXTEXTURESHADER pTextureShader
);

參數

pTexture [in, out]

類型: LPDIRECT3DTEXTURE9

IDirect3DTexture9物件的指標,代表要填滿的紋理。

pTextureShader [in]

類型: LPD3DXTEXTURESHADER

ID3DXTextureShader紋理著色器物件的指標。

傳回值

類型: HRESULT

如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_NOTAVAILABLE,D3DERR_INVALIDCALL。

備註

紋理目標必須是採用下列語意的 HLSL 函式:

  • 一個輸入參數必須使用 POSITION 語意。
  • 一個輸入參數必須使用 PSIZE 語意。
  • 函式必須傳回使用 COLOR 語意的參數。

以下是這類 HLSL 函式的範例:

float4 TextureGradientFill(
  float2 vTexCoord : POSITION, 
  float2 vTexelSize : PSIZE) : COLOR 
  {
    float r,g, b, xSq,ySq, a;
    xSq = 2.f*vTexCoord.x-1.f; xSq *= xSq;
    ySq = 2.f*vTexCoord.y-1.f; ySq *= ySq;
    a = sqrt(xSq+ySq);
    if (a > 1.0f) {
        a = 1.0f-(a-1.0f);
    }
    else if (a < 0.2f) {
        a = 0.2f;
    }
    r = 1-vTexCoord.x;
    g = 1-vTexCoord.y;
    b = vTexCoord.x;
    return float4(r, g, b, a);
    
  };

請注意,輸入參數可以任意順序,但必須表示這兩個輸入語意。

規格需求

需求
標頭
D3dx9tex.h
程式庫
D3dx9.lib

另請參閱

D3DX 9 中的紋理函式

D3DXFillCubeTextureTX

D3DXFillVolumeTextureTX