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 |
|
Biblioteca |
|
Confira também