DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3D9 CheckDeviceFormatConversion [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
장치가 디스플레이 포맷의 변환을 지원 할지 어떨지를 테스트한다.
구문
HRESULT CheckDeviceFormatConversion(
UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat );
파라미터
- Adapter
- [in] 디스플레이 어댑터의 서수. D3DADAPTER_DEFAULT 는 항상 1차 디스플레이 어댑터이다. 이 값이 시스템의 디스플레이 어댑터의 수이상의 경우, 이 메서드는 D3DERR_INVALIDCALL 를 돌려준다.
- DeviceType
- [in] 장치 타입. D3DDEVTYPE 열거형의 멤버.
- SourceFormat
- [in] 전송원어댑터의 포맷. D3DFORMAT 열거형의 멤버.
- TargetFormat
- [in] 목적지 어댑터의 포맷. D3DFORMAT 열거형의 멤버.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는,D3DERR_INVALIDCALL 를 돌려준다.
하드웨어가 2 개의 포맷간에서의 변환을 지원 하지 않는 경우는,D3DERR_NOTAVAILABLE 를 돌려준다.
주의
IDirect3D9::CheckDeviceType 를 사용해, 디스플레이 포맷과 다른 백 버퍼와의 호환성을 테스트 하면, 적절한 값이 반환된다. 즉, 호출은 장치의 능력을 나타낸다. 요구한 백 버퍼 포맷에 장치가 렌더링 할 수 없는 경우에서도, 호출은 D3DERR_NOTAVAILABLE 를 돌려준다. 장치가 그 포맷에 렌더링 할 수 있지만, 색변환을 사용한 프레젠테이션을 실행할 수 없는 경우도, 반환값은 D3DERR_NOTAVAILABLE 가 된다. 애플리케이션에서는,IDirect3D9::CheckDeviceFormatConversion 를 호출해 프레젠테이션 자체의 하드웨어 지원을 검출할 수 있다. 색변환을 사용한 프레젠테이션 자체의 소프트웨어 에뮬레이션은 제공되지 않는다.
IDirect3D9::CheckDeviceFormatConversion 를 사용해,IDirect3DDevice9::StretchRect 의 호출로 허가되는 전송원표면 포맷과 목적지 표면 포맷의 편성을 확인할 수도 있다.
색변환은, 다음의 전송원포맷과 목적지 포맷에 제한되고 있다.
- 전송원포맷은, 4 문자 코드 (FOURCC) 포맷 또는 유효한 백 버퍼 포맷이 아니면 안된다. 이러한 일람에 대해서는, 「FOURCC 포맷」 및 「백 버퍼 또는 디스플레이 포맷」을 참조할것.
- 목적지 포맷은, 다음의 부호 없음 포맷 중 하나가 아니면 안된다.
D3DFMT_X1R5G5B5 D3DFMT_A1R5G5B5 D3DFMT_R5G6B5 D3DFMT_R8G8B8 D3DFMT_X8R8G8B8 D3DFMT_A8R8G8B8 D3DFMT_A2R10G10B10 D3DFMT_A16B16G16R16 D3DFMT_A2B10G10R10 D3DFMT_A8B8G8R8 D3DFMT_X8B8G8R8 D3DFMT_A16B16G16R16F D3DFMT_A32B32G32R32F
참조
IDirect3DDevice9::ColorFill ,IDirect3DDevice9::StretchRect