D3DXFillTextureTX 函式
使用編譯的高階著色器語言 (HLSL) 函式,填滿紋理每個 Mipmap 層級的每個紋素。
語法
HRESULT D3DXFillTextureTX(
_Inout_ LPDIRECT3DTEXTURE9 pTexture,
_In_ LPD3DXTEXTURESHADER pTextureShader
);
參數
-
pTexture [in, out]
-
IDirect3DTexture9物件的指標,代表要填滿的紋理。
-
pTextureShader [in]
-
ID3DXTextureShader紋理著色器物件的指標。
傳回值
類型: HRESULT
如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_NOTAVAILABLE,D3DERR_INVALIDCALL。
備註
紋理目標必須是採用下列語意的 HLSL 函式:
- 一個輸入參數必須使用 POSITION 語意。
- 一個輸入參數必須使用 PSIZE 語意。
- 函式必須傳回使用 COLOR 語意的參數。
以下是這類 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);
};
請注意,輸入參數可以任意順序,但必須表示這兩個輸入語意。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱