Funzione D3DXFillTextureTX
Usa una funzione HLSL (High Level Shader Language) compilata per riempire ogni texel di ogni livello mipmap di una trama.
Sintassi
HRESULT D3DXFillTextureTX(
_Inout_ LPDIRECT3DTEXTURE9 pTexture,
_In_ LPD3DXTEXTURESHADER pTextureShader
);
Parametri
-
pTexture [in, out]
-
Tipo: LPDIRECT3DTEXTURE9
Puntatore a un oggetto IDirect3DTexture9 che rappresenta la trama da riempire.
-
pTextureShader [in]
-
Tipo: LPD3DXTEXTURESHADER
Puntatore a un oggetto shader trama ID3DXTextureShader .
Valore restituito
Tipo: HRESULT
Se la funzione ha esito positivo, il valore restituito viene D3D_OK. Se la funzione ha esito negativo, il valore restituito può essere uno dei seguenti: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL.
Commenti
La destinazione della trama deve essere una funzione HLSL che accetta la semantica seguente:
- Un parametro di input deve usare una semantica POSITION.
- Un parametro di input deve usare una semantica PSIZE.
- La funzione deve restituire un parametro che utilizza la semantica COLOR.
Di seguito è riportato un esempio di tale funzione 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);
};
Si noti che i parametri di input possono essere in qualsiasi ordine, ma entrambe le semantiche di input devono essere rappresentate.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche