D3DDEVTYPE DirectX 2012. 12. 6. 10:20

 

◎D3DDEVTYPE

◆HAL(Hardware Abstraction Layer): D3DDEVTYPE_HAL

→하드웨어 추상계층 :응용프로그램이 하드웨어를 이용하되 하드웨어 독립성 유지

→하드웨어에 정점처리, 픽셀처리등을 지시

→Direct3D가 각장치의 세부적인 부분을 제어할 필요가 없게함

→HAL에서 하드웨어 지원이 안되는 Direct3D함수 호출시 에러 발생 -장치의존

 ◆REF :D3DDEVTYPE_REF

→3D장면을 만들기위한 정점 처리, 픽셀처리등을 소프트웨어로 처리

-하드웨어 에뮬레이트하는 레퍼런스 래스티라이즈제공

→장치 비의존적

 

 

 

'DirectX' 카테고리의 다른 글

Rendering  (0) 2012.12.06
디바이스초기화  (0) 2012.11.16
DX설정방법  (0) 2012.11.16
디바이스초기화 DirectX 2012. 11. 16. 19:41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HRESULT Create Device
{
 UINT Adapter,  // 디바이스를 생성할 화면서 순서번호 대부분 모니터가한개인경우 D3DADAPTER_DEFAULT설정
 D3DEVTYPE DeviceType, //출력디바이스를 결정 D3DDEVTYPE_HAL,D3DDEVTYPR_SW,D3DDEVTYPE_REF가있다. HAL은 하드웨어가속을 지원하는 디바이스
 HWND hFocusWindow,  //디바이스가 출력할 윈도우핸들. 전체화면일경우 최상위 윈도우만 가능하다.
 DWORD BehaviorFlags, //D3DCREATE_HARDWARE_VERTEXPROCESSING과 D3DCREATE_SOFTWARE_VERTEXPROCESSING이 가장중요.
                                  //셰이더를 지원할떄 하드웨어 가속을 할껀진 소프트웨어적 지원을 할것인지를 결정
 D3DPRESENT_PARAMETERS* pPresentationParameters, //디바이스 생성시 선언한 구조체 포인터
 IDirect3DDevice9** ppReturnDeviceInterface //등록된 디바이스를 얻어오는값 IDirect3DDevice9의 인터페이스를 갖고있는 포인터가 담겨져 돌아온다.
 
}
//사용예
LPDIRECT3D9             g_pD3D = NULL;
LPDIRECT3DDEVICE9  g_pd3dDevice = NULL;
if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,
                                                D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&g_pd3dDevice)));
{
  return E_FAIL;
}

'DirectX' 카테고리의 다른 글

Rendering  (0) 2012.12.06
D3DDEVTYPE  (0) 2012.12.06
DX설정방법  (0) 2012.11.16