Função D3DXFillTextureTX

Usa uma função HLSL (linguagem de sombreador de alto nível) compilada para preencher cada texel de cada nível de mipmap de uma textura.

Sintaxe

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

Parâmetros

pTexture [in, out]

Tipo: LPDIRECT3DTEXTURE9

Ponteiro para um objeto IDirect3DTexture9 , representando a textura a ser preenchida.

pTextureShader [in]

Tipo: LPD3DXTEXTURESHADER

Ponteiro para um objeto de sombreador de textura ID3DXTextureShader .

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, o valor retornado será D3D_OK. Se a função falhar, o valor retornado poderá ser um dos seguintes: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL.

Comentários

O destino de textura deve ser uma função HLSL que usa contém a seguinte semântica:

  • Um parâmetro de entrada deve usar uma semântica POSITION.
  • Um parâmetro de entrada deve usar uma semântica PSIZE.
  • A função deve retornar um parâmetro que usa a semântica COLOR.

Veja a seguir um exemplo dessa função 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);
    
  };

Observe que os parâmetros de entrada podem estar em qualquer ordem, mas ambas as semânticas de entrada devem ser representadas.

Requisitos

Requisito Valor
parâmetro
D3dx9tex.h
Biblioteca
D3dx9.lib

Confira também

Funções de textura no D3DX 9

D3DXFillCubeTextureTX

D3DXFillVolumeTextureTX