Metode IDirect3D9::CheckDeviceMultiSampleType (d3d9.h)
Menentukan apakah teknik multisampling tersedia pada perangkat ini.
Sintaks
HRESULT CheckDeviceMultiSampleType(
[in] UINT Adapter,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT SurfaceFormat,
[in] BOOL Windowed,
[in] D3DMULTISAMPLE_TYPE MultiSampleType,
[out] DWORD *pQualityLevels
);
Parameter
[in] Adapter
Jenis: UINT
Nomor ordinal yang menunjukkan adaptor tampilan untuk kueri. D3DADAPTER_DEFAULT selalu merupakan adaptor tampilan utama. Metode ini mengembalikan FALSE ketika nilai ini sama atau melebihi jumlah adaptor tampilan dalam sistem. Lihat Keterangan.
[in] DeviceType
Jenis: D3DDEVTYPE
Anggota jenis enumerasi D3DDEVTYPE , mengidentifikasi jenis perangkat.
[in] SurfaceFormat
Jenis: D3DFORMAT
Anggota jenis enumerasi D3DFORMAT yang menentukan format permukaan yang akan di-multisampel. Untuk informasi selengkapnya, lihat Keterangan.
[in] Windowed
Jenis: BOOL
nilai bool. Tentukan TRUE untuk menanyakan tentang multisampling berjendela, dan tentukan FALSE untuk menanyakan multisampling layar penuh.
[in] MultiSampleType
Jenis: D3DMULTISAMPLE_TYPE
Anggota jenis enumerasi D3DMULTISAMPLE_TYPE , mengidentifikasi teknik multisampling untuk diuji.
[out] pQualityLevels
Jenis: DWORD*
pQualityLevels mengembalikan jumlah variasi pengambilan sampel khusus perangkat yang tersedia dengan jenis sampel yang diberikan. Misalnya, jika nilai yang dikembalikan adalah 3, maka tingkat kualitas 0, 1 dan 2 dapat digunakan saat membuat sumber daya dengan jumlah sampel yang diberikan. Arti dari tingkat kualitas ini didefinisikan oleh produsen perangkat dan tidak dapat dikueri melalui D3D. Misalnya, untuk tingkat kualitas perangkat tertentu yang berbeda pada jumlah sampel tetap mungkin mengacu pada tata letak spasial yang berbeda dari lokasi sampel atau metode penyelesaian yang berbeda. Ini bisa NULL jika tidak perlu mengembalikan tingkat kualitas.
Menampilkan nilai
Jenis: HRESULT
Jika perangkat dapat melakukan metode multisampling yang ditentukan, metode ini mengembalikan D3D_OK. D3DERR_INVALIDCALL dikembalikan jika parameter Adapter atau MultiSampleType tidak valid. Metode ini mengembalikan D3DERR_NOTAVAILABLE jika teknik multisampling yang dikueri tidak didukung oleh perangkat ini. D3DERR_INVALIDDEVICE dikembalikan jika DeviceType tidak berlaku untuk adaptor ini.
Keterangan
Metode ini ditujukan untuk digunakan dengan permukaan target render dan stensil kedalaman karena Anda harus membuat kedua permukaan multisampled jika Anda ingin menggunakannya bersama-sama.
Fragmen kode berikut menunjukkan bagaimana Anda dapat menggunakan CheckDeviceMultiSampleType untuk menguji perangkat yang mendukung metode multisampling tertentu.
if( SUCCEEDED(pD3D->CheckDeviceMultiSampleType( pCaps->AdapterOrdinal,
pCaps->DeviceType, BackBufferFormat,
FALSE, D3DMULTISAMPLE_3_SAMPLES, NULL ) ) &&
SUCCEEDED(pD3D->CheckDeviceMultiSampleType( pCaps->AdapterOrdinal,
pCaps->DeviceType, DepthBufferFormat,
FALSE, D3DMULTISAMPLE_3_SAMPLES, NULL ) ) )
return S_OK;
Kode sebelumnya akan mengembalikan S_OK jika perangkat mendukung metode multisampling D3DMULTISAMPLE_3_SAMPLES layar penuh dengan format permukaan.
Lihat keterangan di D3DMULTISAMPLE_TYPE untuk informasi tambahan tentang bekerja dengan dan mengatur jenis multisample dan tingkat kualitas.
Persyaratan
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |