DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3D9 RegisterSoftwareDevice [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
플러그 가능한 소프트웨어 장치를 등록한다. 소프트웨어 장치는 소프트웨어에 의한 래스터화를 제공한다. 이것에 의해, 애플리케이션은, 다양한 소프트웨어 래스터라이저에 액세스 할 수 있다.
구문
HRESULT RegisterSoftwareDevice(
void *pInitializeFunction );
파라미터
- pInitializeFunction
- [in] 등록하는 소프트웨어 장치의 초기화 함수의 포인터.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는, 다음의 몇개의 값을 돌려준다.
D3DERR_INVALIDCALL 메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다. D3DERR_OUTOFVIDEOMEMORY Direct3D 가 처리를 실시하는데 충분한 디스플레이 메모리가 없다.
주의
사용자의 컴퓨터가 3D 조작용의 특별한 하드웨어 가속화를 갖추지 않은 경우, 애플리케이션은 소프트웨어로 3D 하드웨어를 에뮬레이트 할 수 있다. 소프트웨어 래스터화 장치는, 소프트웨어로 컬러 3D 하드웨어의 기능을 에뮬레이트 한다. 소프트웨어 장치는, 하드웨어 추상 계층 (HAL)보다 실행 속도가 늦다. 다만, 소프트웨어 장치는, CPU 로 지원 되고 있는 특별한 명령을 이용해 퍼포먼스를 향상시킨다. 지원 되는 명령 세트에는, 몇개의 AMD 프로세서의 AMD 3DNow! 명령 세트나, 많은 Intel 프로세서로 지원 되는 MMX 명령 세트등이 있다. Microsoft® Direct3D® 에서는, 3DNow! 명령 세트를 사용해 변환 & 조명 처리를 고속화해, MMX 명령 세트를 사용해 래스터화를 고속화한다.
소프트웨어 장치는, 하드웨어 장치 드라이버 인터페이스 (DDI)에 유사하는 인터페이스를 개입시켜 Direct3D 와 통신한다.
소프트웨어 장치는, 애플리케이션에 의해 로드 되어,IDirect3D9 개체에 등록된다. Direct3D 는, 소프트웨어 장치를 사용해 렌더링을 실행한다.
Direct3D Driver Development Kit (DDK)에서는, 플러그 가능한 소프트웨어 장치를 개발하기 위한 문서와 헤더가 제공되고 있다.