Fungsi D3DXFillVolumeTexture
Menggunakan fungsi yang disediakan pengguna untuk mengisi setiap texel dari setiap tingkat mip tekstur volume tertentu.
Sintaks
HRESULT D3DXFillVolumeTexture(
_Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
_In_ LPD3DXFILL3D pFunction,
_In_ LPVOID pData
);
Parameter
-
pTexture [out]
-
Jenis: LPDIRECT3DVOLUMETEXTURE9
Penunjuk ke antarmuka IDirect3DVolumeTexture9 , mewakili tekstur yang diisi.
-
pFunction [in]
-
Jenis: LPD3DXFILL3D
Arahkan ke fungsi evaluator yang disediakan pengguna, yang akan digunakan untuk menghitung nilai setiap texel. Fungsi ini mengikuti prototipe LPD3DXFILL3D.
-
pData [in]
-
Jenis: LPVOID
Arahkan ke blok arbitrer data yang ditentukan pengguna. Pointer ini akan diteruskan ke fungsi yang disediakan dalam pFunction.
Menampilkan nilai
Jenis: HRESULT
Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan bisa menjadi salah satu nilai berikut: D3DERR_INVALIDCALL.
Keterangan
Jika volume tidak dinamis (karena penggunaan diatur ke 0 saat dibuat), dan terletak di memori video (kumpulan memori diatur ke D3DPOOL_DEFAULT), D3DXFillVolumeTexture akan gagal karena volume tidak dapat dikunci.
Contoh ini membuat fungsi yang disebut ColorVolumeFill, yang bergantung pada D3DXFillVolumeTexture.
// Define a function that matches the prototype of LPD3DXFILL3D
VOID WINAPI ColorVolumeFill (D3DXVECTOR4* pOut, const D3DXVECTOR3* pTexCoord,
const D3DXVECTOR3* pTexelSize, LPVOID pData)
{
*pOut = D3DXVECTOR4(pTexCoord->x, pTexCoord->y, pTexCoord->z, 0.0f);
}
// Fill volume texture
if (FAILED (hr = D3DXFillVolumeTexture (m_pTexture, ColorVolumeFill, NULL)))
{
return hr;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk