Team Curio

비주얼 노벨 한국어 패치 팀 큐리오

프로그래밍

16.DirectX 개론

연이v 2009. 7. 10. 20:54
반응형
SMALL


◈ DirectX란?

DirectX는 윈도우에서 게임을 즐기거나 또는 게임 제작을 하고자 할 때 필요하다. 과거 도스 시절에는 게임 제작의 한계가 있었지만 Wing-G를 거쳐, 오늘날 DirectX가 탄생되었다.


◈ 참고 : DirectX의 장점 및 특징

DireectX는 빠르다.

이유는 다른 것을 거치지 않고, 직접 DirectX에 집결되기 때문이다. 즉, 프로그램를 다룰 때는 마우스나 사운드 카드, 비디오 디스플레이를 공유하게 되는데, 일반 Win application은 - DirectX application의 경우와 달리 - 다음과 같은 과정을 거치게 된다. 즉, 그래픽은 GDI를, 사운드는 multimedia extentions을 사용하므로 속도가 느리다. 그러나, DirectX는 이런 것을 거치지 않는다. (그러나, 제 홈의 소스에는 GDI를 사용하는 내용들도 나온다.)

DirectX는 또한 각 버전이 호환되는 장점이 있는데, 바로 COM 덕분이다. (COM에 대한 자세한 내용은 몰라도 게임 제작에 지장은 일단없다. COM에서 게임 제작에 사용되는 함수를 얻어다 쓰게된다.)

그리고, DirectX는 하드웨어를 직접 컨트롤한다. 이것을 HAL이라고 한다. 그러나 각종 카드 등이 하드웨어를 직접 지원하지 못하게 된다면 DirectX는 HEL 상태로 컨트롤 해 주게 되는데 이렇게 소프트적인 방법으로 게임을 지원해 주는 것을 HEL이라고 부른다.

 

◈ DirectX에 들어가 있는 것.

흔히 'DirectX 구성 요소'라는 표현을 쓰고 있는데, 다음과 같은 7~8가지를 지원해 주고 있다.


① DirectDraw

기본적으로 공부할 내용이다. 이것을 이용하여 그래픽과 글자를 처리하게 된다. 10여가지 함수만 이해하면 되며, 시작 부분이므로 초보자의 경우에는 다소 어렵다고 느낄 수 있다. (이것만 가지고도 멋진 게임 제작이 가능하다.)


② DirectInput

자판이나 마우스, 죠이스틱을 다룰 때 사용된다. 쉬운 편이며, 이것없이도 작동을 시킬 수는 있지만, DirectInput을 사용하는 것이 보다 효율적일 것이다.


③ DirectSound

각종 효과음을 넣고자 할 때 사용되는 기능이다. wav 화일을 사용하며, 개념은 복잡한 편이다.


④ DirectMusic

DirectX 6.0버젼 이후에 등장하며, 배경에 음악을 넣고자 할 때 사용된다. mid 화일을 사용한다.


⑤ DirectPlay

온라인 게임이나 채팅에 대한 것을 제작할 때 사용된다. 웹 용어 및 흐름에 대한 이해가 필요하므로 다소 어렵다고 할 수 있다.


⑥ Direct3D

DirectDraw을 통해 2D 게임을 제작한다면, Direct3D를 통해 3D 게임을 제작한다. 2차원 게임과는 차원이 다르므로 어렵다고 할 수 있다.


⑦ DirectShow

동영상의 처리를 위해 필요한 듯. (동영상은 DirectDraw로도 가능한 듯?)


⑧ DirectSetup

내가 만든 게임을 cd 등으로 배포를 원할 때 사용한다.

참고 : 저는 먼저 DirectDraw - DirectInput 정도는 필요시 추가하면서 - 만으로 규모있는 게임 제작을 해 본 (2~4년) 후에 나머지 기능을 공부하는 것이 좋다고 판단됨.


김남수-(끝)

 

반응형

'프로그래밍' 카테고리의 다른 글

18.[[이론]] RPG의 종류  (0) 2009.07.10
17.C언어-WinAPI-DirectX-C++-STL-Socket-MFC-Direct3D또는OpenGL  (0) 2009.07.10
15.c 언어강좌 (12)  (0) 2009.07.10
14.c 언어강좌 (11)  (0) 2009.07.10
13.c 언어강좌 (10)  (0) 2009.07.10