Direct X Utility
제공 기능
- 윈도우 생성
- Direct3D 디바이스 선택
- Direct3D 디바이스 생성
- 디바이스 이벤트 처리
- 윈도우 이벤트 처리
- 창 모드와 전체 화면 모드 사이의 전환
맨 마지막은 좀 소소한 느낌이 드는데, 아무튼
DXUT는 기본적으로 상위 버전의 DX를 우선적으로 지원한다. 무슨 소린가 하면
그리고 각종 GUI를 지원하기 위한 기능도 제공하고, IME 기반의 텍스트 입력, 카메라 조작, 타이머 등도 제공
(IME 기반의 텍스트 입력 : 컴퓨터 자판의 개수보다 더 많은 글자를 쓰는 언어를 입력할 때 특정한 방식의 키보드 입력을 하면 해당되는 글자를 나타내는 시스템 = 한글)
이러한 부가기능은 모듈별로 제공, DXUT 프레임워크와 무관하게 따로 사용가능
이런 식으로 DX 샘플 브라우저에서 인스톨 프로젝트로 예제 프로그램 수준 뿐 아니라 실제 상용게임을 개발하는 것도 가능하다고 한다
? 진짜?
DXUT 초기화는 DXUTInit() 함수에서 시작
DXUT를 사용한 윈도우 생성
DXUTGetHWND() 함수를 사용하면 윈도우 핸들을 얻는다
API로 생성된 윈도우 사용시 DXUTSetWindow() 함수를 사용한다. 미리 생성된 윈도우를 DXUT에서 사용 가능
윈도우 이벤트 처리
DXUT를 사용한 이벤트 처리
DXUTCreateWindow() 함수를 사용해 메시지 처리가 가능하다
대부분의 중요한 메시지들은 DXUT에서 자동으로 처리된다.
DXUT가 처리하는 것 외에 추가로 처리를 원한다면 DXUTSetCallbackMsgProg( MsgProc ) 함수를 사용해 메시지 처리 콜백함수 등록 가능
*pbNoFurtherProcessing = true 일 경우 사용자가 메시지 처리를 완료한 것으로 인식,
DXUT가 그 메시지에 대해 추가적 처리를 하지 않게 함. 그러나 DXUT 오작동 가능성이 있으니 사용 시 주의
윈도우를 직접 생성했다면 메시지 처리도 직접 하는 것이 가능
DXUTStaticWndProc() 함수로 관련 메시지를 DXUT에 넘겨서 처리할 수 있다.
'그래픽스' 카테고리의 다른 글
래스터라이저 (0) | 2020.11.29 |
---|---|
D3DXVec3의 Coord와 Norm (0) | 2020.10.26 |
가우시안 블러 (0) | 2020.09.30 |
드로우 콜 (0) | 2020.09.16 |
Height Map (0) | 2020.09.13 |