D3DXFillTextureTX fonction)

Utilise une fonction de nuanceur de niveau supérieur (HLSL, shader Language) compilée pour remplir chaque Texel de chaque niveau de mipmap d’une texture.

Syntaxe

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

Paramètres

pTexture [ in, out]

Type : LPDIRECT3DTEXTURE9

Pointeur vers un objet IDirect3DTexture9 représentant la texture à remplir.

pTextureShader [ dans]

Type : LPD3DXTEXTURESHADER

Pointeur vers un objet de nuanceur de texture ID3DXTextureShader .

Valeur de retour

Type : HRESULT

Si la fonction est réussie, la valeur de retour est D3D _ OK. Si la fonction échoue, la valeur de retour peut être l’une des suivantes : D3DERR _ NOTAVAILABLE, D3DERR _ INVALIDCALL.

Notes

La cible de la texture doit être une fonction HLSL qui prend la sémantique suivante :

  • Un paramètre d’entrée doit utiliser une sémantique de POSITION.
  • Un paramètre d’entrée doit utiliser une sémantique PSIZE.
  • La fonction doit retourner un paramètre qui utilise la sémantique de couleur.

Voici un exemple d’une telle fonction 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);
    
  };

Notez que les paramètres d’entrée peuvent être dans n’importe quel ordre, mais que les deux sémantiques d’entrée doivent être représentées.

Spécifications

Condition requise Valeur
En-tête
D3dx9tex. h
Bibliothèque
D3dx9. lib

Voir aussi

Fonctions de texture dans D3DX 9

D3DXFillCubeTextureTX

D3DXFillVolumeTextureTX