Поделиться через


Метод 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

См. также раздел

IDirect3D9