Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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