Метод IDirect3D9::CheckDeviceMultiSampleType (d3d9.h)
Определяет, доступен ли на этом устройстве метод множественной выборки.
Синтаксис
HRESULT CheckDeviceMultiSampleType(
[in] UINT Adapter,
[in] D3DDEVTYPE DeviceType,
[in] D3DFORMAT SurfaceFormat,
[in] BOOL Windowed,
[in] D3DMULTISAMPLE_TYPE MultiSampleType,
[out] DWORD *pQualityLevels
);
Параметры
[in] Adapter
Тип: UINT
Порядковый номер, обозначающий адаптер дисплея для запроса. D3DADAPTER_DEFAULT всегда является основным видеоадаптером. Этот метод возвращает значение FALSE , если это значение равно или превышает количество видеоадаптеров в системе. См. заметки.
[in] DeviceType
Тип: D3DDEVTYPE
Член перечисленного типа D3DDEVTYPE , определяющий тип устройства.
[in] SurfaceFormat
Тип: D3DFORMAT
Член перечисленного типа D3DFORMAT , который указывает формат поверхности, которая должна быть многомерной. Дополнительные сведения см. в подразделе "Примечания".
[in] Windowed
Тип: BOOL
значение bool. Укажите значение TRUE , чтобы узнать о многоэкранной выборке, и значение FALSE , чтобы узнать о многоэкранной выборке.
[in] MultiSampleType
Тип: D3DMULTISAMPLE_TYPE
Член D3DMULTISAMPLE_TYPE перечисляемого типа, определяющий метод проверки нескольких выборок.
[out] pQualityLevels
Тип: DWORD*
pQualityLevels возвращает количество вариантов выборки для конкретного устройства, доступных для данного типа выборки. Например, если возвращаемое значение равно 3, то при создании ресурсов с заданным количеством выборок можно использовать уровни качества 0, 1 и 2. Значения этих уровней качества определяются производителем устройства и не могут быть запрошены через D3D. Например, для конкретного устройства разные уровни качества при фиксированном количестве выборок могут относиться к разным пространственным макетам расположений выборки или различным методам разрешения. Это значение может иметь значение NULL , если нет необходимости возвращать уровни качества.
Возвращаемое значение
Тип: HRESULT
Если устройство может выполнить указанный метод множественной выборки, этот метод возвращает D3D_OK. D3DERR_INVALIDCALL возвращается, если параметры Adapter или MultiSampleType недопустимы. Этот метод возвращает D3DERR_NOTAVAILABLE, если запрашиваемый метод множественной выборки не поддерживается этим устройством. D3DERR_INVALIDDEVICE возвращается, если DeviceType не применяется к этому адаптеру.
Комментарии
Этот метод предназначен для использования как с поверхностями рендеринга-цели, так и с поверхностями трафарета глубины, так как необходимо создать обе поверхности с несколькими выборками, если вы хотите использовать их вместе.
В следующем фрагменте кода показано, как можно использовать CheckDeviceMultiSampleType для тестирования устройств, поддерживающих определенный метод множественной выборки.
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;
Приведенный выше код вернет S_OK, если устройство поддерживает полноэкранный D3DMULTISAMPLE_3_SAMPLES метод мультисаймплинга с форматом surface.
Дополнительные сведения о работе и настройке типов и уровней качества см. в примечаниях в D3DMULTISAMPLE_TYPE .
Требования
Целевая платформа | Windows |
Header | d3d9.h (включая D3D9.h) |
Библиотека | D3D9.lib |