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 |
|
| Bibliothèque |
|