Función D3DXFillTextureTX
Usa una función compilada de lenguaje de sombreador de alto nivel (HLSL) para rellenar cada elemento de textura de cada nivel de mapa mip.
Sintaxis
HRESULT D3DXFillTextureTX(
_Inout_ LPDIRECT3DTEXTURE9 pTexture,
_In_ LPD3DXTEXTURESHADER pTextureShader
);
Parámetros
-
pTexture [in, out]
-
Tipo: LPDIRECT3DTEXTURE9
Puntero a un objeto IDirect3DTexture9 , que representa la textura que se va a rellenar.
-
pTextureShader [in]
-
Tipo: LPD3DXTEXTURESHADER
Puntero a un objeto de sombreador de textura ID3DXTextureShader .
Valor devuelto
Tipo: HRESULT
Si la función se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL.
Comentarios
El destino de textura debe ser una función HLSL que toma contiene la semántica siguiente:
- Un parámetro de entrada debe usar una semántica POSITION.
- Un parámetro de entrada debe usar una semántica PSIZE.
- La función debe devolver un parámetro que use la semántica COLOR.
A continuación se muestra un ejemplo de esta función 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);
};
Tenga en cuenta que los parámetros de entrada pueden estar en cualquier orden, pero se debe representar la semántica de entrada.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también