Rendering DirectX 2012. 12. 6. 10:26

◎3D렌더링 순서

◆정점변환 :  월드변환 →  뷰변환 → 프로젝션변환

◆레즈터라이징: 지오메트릭정보를 이용해 픽셀생성

◆픽셀처리: 텍스쳐 샘플링, 어드레싱, 필터링, 알파, 뎁스, 스텐실 비교

●SoftWareRendering

→3D Rendering 전과정을 CPU에서 처리

→레스터라이징,픽셀처리 부분에서 과부하

●Hardware Rendering

→하드웨어에 처리를 맡김

→Fixed Pipe Line : 프로세서 흐름이 고정

→고정파이프 라인 일부가 프로그램가능 : Vertex Sharder, Pixel Sharder

 

 

'DirectX' 카테고리의 다른 글

D3DDEVTYPE  (0) 2012.12.06
디바이스초기화  (0) 2012.11.16
DX설정방법  (0) 2012.11.16
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
 


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
DX설정방법 DirectX 2012. 11. 16. 17:59

VS 2005기준

DXSDK설치후 도구 - 옵션  - 프로젝트 및 솔루션 - VC++ 디렉터리 -다음파일의 디렉터리 표시

포함파일-> C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include 추가 (64bit기준)

라이브러리파일 -> C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86 추가 (64bit기준)

(32bit에는 경로가 다를수 있습니다.)

 

프로젝트 - 속성 -링커 - 입력 - 추가종속성

d3d9.lib

d3dx9.lib

winmm.lib

추가

 

'DirectX' 카테고리의 다른 글

Rendering  (0) 2012.12.06
D3DDEVTYPE  (0) 2012.12.06
디바이스초기화  (0) 2012.11.16