Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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