Bagikan melalui


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
D3dx9tex.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi Tekstur di D3DX 9

D3DXFillCubeTextureTX

D3DXFillVolumeTextureTX