Metode IDirect3D9::CheckDepthStencilMatch (d3d9helper.h)
Menentukan apakah format stensil kedalaman kompatibel dengan format target render dalam mode tampilan tertentu.
Sintaks
HRESULT CheckDepthStencilMatch(
[in] UINT Adapter,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT AdapterFormat,
[in] D3DFORMAT RenderTargetFormat,
[in] D3DFORMAT DepthStencilFormat
);
Parameter
[in] Adapter
Jenis: UINT
Nomor ordinal yang menunjukkan adaptor tampilan untuk kueri. D3DADAPTER_DEFAULT selalu merupakan adaptor tampilan utama.
[in] DeviceType
Jenis: D3DDEVTYPE
Anggota jenis enumerasi D3DDEVTYPE , mengidentifikasi jenis perangkat.
[in] AdapterFormat
Jenis: D3DFORMAT
Anggota jenis D3DFORMAT yang dijumlahkan, mengidentifikasi format mode tampilan tempat adaptor akan ditempatkan.
[in] RenderTargetFormat
Jenis: D3DFORMAT
Anggota jenis enumerasi D3DFORMAT , mengidentifikasi format permukaan target render yang akan diuji.
[in] DepthStencilFormat
Jenis: D3DFORMAT
Anggota D3DFORMAT jenis enumerasi, mengidentifikasi format permukaan stensil kedalaman yang akan diuji.
Nilai kembali
Jenis: HRESULT
Jika format stensil kedalaman kompatibel dengan format target render dalam mode tampilan, metode ini mengembalikan D3D_OK. D3DERR_INVALIDCALL dapat dikembalikan jika satu atau beberapa parameter tidak valid. Jika format stensil kedalaman tidak kompatibel dengan target render dalam mode tampilan, maka metode ini mengembalikan D3DERR_NOTAVAILABLE.
Keterangan
Metode ini disediakan untuk memungkinkan aplikasi bekerja dengan perangkat keras yang mengharuskan format kedalaman tertentu hanya dapat berfungsi dengan format target render tertentu.
Perilaku metode ini telah diubah untuk DirectX 8.1. Metode ini sekarang memperhatikan format stensil kedalaman D24x8 dan D32. Versi sebelumnya mengasumsikan bahwa format ini akan selalu dapat digunakan dengan target render 32 atau 16-bit. Metode ini sekarang akan mengembalikan D3D_OK untuk format ini hanya jika perangkat mampu melakukan operasi kedalaman campuran.
Fragmen kode berikut menunjukkan bagaimana Anda dapat menggunakan CheckDeviceFormat untuk memvalidasi format stensil kedalaman.
BOOL IsDepthFormatOk(D3DFORMAT DepthFormat,
D3DFORMAT AdapterFormat,
D3DFORMAT BackBufferFormat)
{
// Verify that the depth format exists
HRESULT hr = pD3D->CheckDeviceFormat(D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
AdapterFormat,
D3DUSAGE_DEPTHSTENCIL,
D3DRTYPE_SURFACE,
DepthFormat);
if(FAILED(hr)) return FALSE;
// Verify that the depth format is compatible
hr = pD3D->CheckDepthStencilMatch(D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
AdapterFormat,
BackBufferFormat,
DepthFormat);
return SUCCEEDED(hr);
}
Panggilan sebelumnya akan mengembalikan FALSE jika DepthFormat tidak dapat digunakan bersama dengan AdapterFormat dan BackBufferFormat.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d9helper.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |
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