Compartir a través de


Función D3DXFillTextureTX

Usa una función compilada de lenguaje de sombreador de alto nivel (HLSL) para rellenar cada elemento de textura de cada nivel de mapa mip.

Sintaxis

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

Parámetros

pTexture [in, out]

Tipo: LPDIRECT3DTEXTURE9

Puntero a un objeto IDirect3DTexture9 , que representa la textura que se va a rellenar.

pTextureShader [in]

Tipo: LPD3DXTEXTURESHADER

Puntero a un objeto de sombreador de textura ID3DXTextureShader .

Valor devuelto

Tipo: HRESULT

Si la función se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL.

Comentarios

El destino de textura debe ser una función HLSL que toma contiene la semántica siguiente:

  • Un parámetro de entrada debe usar una semántica POSITION.
  • Un parámetro de entrada debe usar una semántica PSIZE.
  • La función debe devolver un parámetro que use la semántica COLOR.

A continuación se muestra un ejemplo de esta función 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);
    
  };

Tenga en cuenta que los parámetros de entrada pueden estar en cualquier orden, pero se debe representar la semántica de entrada.

Requisitos

Requisito Value
Encabezado
D3dx9tex.h
Biblioteca
D3dx9.lib

Consulte también

Funciones de textura en D3DX 9

D3DXFillCubeTextureTX

D3DXFillVolumeTextureTX