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 반환합니다. 어댑터 또는 MultiSampleType 매개 변수가 잘못된 경우 D3DERR_INVALIDCALL 반환됩니다. 이 메서드는 쿼리된 다중 샘플링 기술이 이 디바이스에서 지원되지 않는 경우 D3DERR_NOTAVAILABLE 반환합니다. DeviceType이 이 어댑터에 적용되지 않으면 D3DERR_INVALIDDEVICE 반환됩니다.

설명

이 메서드는 함께 사용하려는 경우 두 표면을 다중 샘플링해야 하므로 렌더링 대상 및 깊이 스텐실 표면 모두에 사용하기 위한 것입니다.

다음 코드 조각에서는 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;

앞의 코드는 디바이스가 전체 화면 D3DMULTISAMPLE_3_SAMPLES 다중 샘플링 방법을 표면 형식으로 지원하는 경우 S_OK 반환합니다.

다중 샘플 형식 및 품질 수준을 사용하고 설정하는 방법에 대한 자세한 내용은 D3DMULTISAMPLE_TYPE 설명을 참조하세요.

요구 사항

   
대상 플랫폼 Windows
헤더 d3d9.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

IDirect3D9