D3DXFillTextureTX 関数
コンパイル済みの高レベル シェーダー言語 (HLSL) 関数を使用して、テクスチャの各ミップマップ レベルの各テクセルを塗りつぶします。
構文
HRESULT D3DXFillTextureTX(
_Inout_ LPDIRECT3DTEXTURE9 pTexture,
_In_ LPD3DXTEXTURESHADER pTextureShader
);
パラメーター
-
pTexture [in, out]
-
塗りつぶすテクスチャを表す IDirect3DTexture9 オブジェクトへのポインター。
-
pTextureShader [in]
-
ID3DXTextureShader テクスチャ シェーダー オブジェクトへのポインター。
戻り値
種類: HRESULT
関数が成功した場合、戻り値はD3D_OK。 関数が失敗した場合、戻り値は次のいずれかになります:D3DERR_NOTAVAILABLE、D3DERR_INVALIDCALL。
解説
テクスチャ ターゲットは、次のセマンティクスを含む を受け取る HLSL 関数である必要があります。
- 1 つの入力パラメーターで POSITION セマンティックを使用する必要があります。
- 1 つの入力パラメーターで 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);
};
入力パラメーターは任意の順序で指定できますが、両方の入力セマンティクスを表す必要があることに注意してください。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目