Uses a compiled high-level shader language (HLSL) function to fill each texel of each mipmap level of a texture.
HRESULT D3DXFillTextureTX( LPDIRECT3DTEXTURE9 pTexture, LPD3DXTEXTURESHADER pTextureShader );
If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following:D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL.
The texture target must be an HLSL function that takes contains the following semantics:
The following is an example of such an HLSL function:
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); };
Note that the input parameters can be in any order, but both input semantics must be represented.
Header: Declared in D3dx9tex.h.