Fungsi D3DXFillTextureTX
Menggunakan fungsi bahasa shader tingkat tinggi (HLSL) yang dikompilasi untuk mengisi setiap texel dari setiap tingkat mipmap tekstur.
Sintaks
HRESULT D3DXFillTextureTX(
_Inout_ LPDIRECT3DTEXTURE9 pTexture,
_In_ LPD3DXTEXTURESHADER pTextureShader
);
Parameter
-
pTexture [masuk, keluar]
-
Jenis: LPDIRECT3DTEXTURE9
Penunjuk ke objek IDirect3DTexture9 , mewakili tekstur yang akan diisi.
-
pTextureShader [in]
-
Jenis: LPD3DXTEXTURESHADER
Penunjuk ke objek shader tekstur ID3DXTextureShader .
Menampilkan nilai
Jenis: HRESULT
Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan dapat berupa salah satu hal berikut: D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL.
Keterangan
Target tekstur harus merupakan fungsi HLSL yang mengambil berisi semantik berikut:
- Satu parameter input harus menggunakan semantik POSISI.
- Satu parameter input harus menggunakan semantik PSIZE.
- Fungsi harus mengembalikan parameter yang menggunakan semantik COLOR.
Berikut ini adalah contoh fungsi HLSL seperti itu:
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);
};
Perhatikan bahwa parameter input dapat dalam urutan apa pun, tetapi kedua semantik input harus diwakili.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga