▶ DirectX 란?
다이렉트X는 기존의 그래픽카드만을 위한 규격인 DCI(Display Control Interface)의 단점을 보완하여, 그래픽카드/사운드카드/입출력장치 등의 주요 주변기기를 응용 프로그램이 직접 제어할 수 있게 인텔과 마이크로소프트가 제정한 종합 가속표준입니다. 윈도우가 대부분의 컴퓨터에서 사용되면서 게임도 윈도우용으로 제작되고 있습니다. 하지만, 초기에 제작된 대부분의 게임은 윈도우3.1에서 사용된 WinG라는 게임 라이브러리를 사용하여 제작되었습니다. 그런데 WinG라는 것으로는 화려하고 박진감 넘치는 게임을 제작하기에는 한계가 있습니다. 즉, 대부분의게임에서 많이 필요로 하는 빠른 화면 전개가 불가능하다는 단점이 있습니다. 도스용 게임의 경우 게임 자체가 시스템의 하드웨어를 제어하기 때문에 좀더 빠르고 박진감있게 제작할 수 있었지만, 윈도우에서는 윈도우가 자체적으로 시스템을 관리하므로 응용 소프트웨어의 하드웨어 접근을 불허하기 때문입니다.
따라서 하드웨어를 직접 제어할 수 없는 WinG로는 도스용 게임만큼의 제작이 불가능하다는 한계가 있습니다. 마이크로소프트사는 게임이 컴퓨터에서 차지하는 비중이 매우 크다는 것을 잘 알고 있기 때문에, 윈도우 사용자를 늘리기 위해 정책적으로 윈도우에서 직접적으로 하드웨어를 제어할 수 있게 해주는 라이브러리를 만들려고 노력했습니다. 그러한 노력 끝에 탄생한 것이 바로 다이렉트X 1.0입니다. 다이렉트X는 사용자들의 시스템이 발전함에 따라 계속 버전 업이 이루지고 있습니다.


▶ DirectX 규격
다 이렉트X는 마이크로소프트가 윈도우상에서 멀티미디어 환경을 구현하기 위해서 제안한 소프트웨어 처리 규격이며, 프로그래머와 사용자가 응용 프로그램을 작동시키기 위한 API(Application Programmer Interface)규격입니다. 하드웨어적인 처리 규정은 주변장치 제조업체에게 맡깁니다.

1) DirectDraw

다이렉트 드로우는 2D(평면 그래픽)를 담당하는 라이브러리로 선/점/면과 같은 도형의 표현은 물론, 더블 버퍼링, 컬러마스킹 & 컬러필터링, 스프라이트, 늘리기, 윈도우 등에 대한 각종 고급함수에 대한 통일된 규격입니다. 주로 2D로 제작된 게임에 사용됩니다. 다이렉트 드로우는 비디오 카드의 메모리를 직접 조작하거나 하드에어적인 비트블릿(Bitblit)을 수행하고 오버레이와 페이지 플리핑 같은 기능을 프로그램이 직접 실행할 수 있게 해 줍니다. 결과적으로 더 나은 성능의 그래픽 가속 기능을 얻을 수 있습니다. 쉽게 말해서 게임이나 고속으로 하드웨어를 제어하기 위한 개발툴 또는 라이브러리라고 생각하면 된다.

2) Direct3D

다 이렉트 3D는 3차원 그래픽에 사용되는 라이브러리로 렌더링/쉐이딩/텍스처링/3차원 변환/필터링 등에 관한 각종 규격을 담고 있습니다. 3D 그래픽 카드는 다이렉트 3D를 직접 지원하여 더 빠르고 멋진 그래픽을 보여줍니다. 특히 전용 그래픽 3D 하드에어가 없어도 소프트웨어적으로 3D을 강화시켜 줍니다. 물론 3D 그래픽 하드웨어가 있으면 최적의 기능을 발휘할 수 있습니다.

3) DirectVideo

인텔의 AVI 파일 포맷을 기반으로 하는 동영상 처리에 관한 통합규격입니다. AVI 이외에도 MPEG 동영상 포맷을 윈도우에서 처리하기 위한 규격도 포함하고 있습니다.

4) DirectSound

다 이렉트 사운드는 사운드 부분을 담당하는 라이브러리로 사운드카드의 직접 제어를 위한 규격입니다. 웨이브 테이블 미디와 9채널의 wave 믹서로 구성되어 있으며, CD 수준의 음질인 44.1KHz까지 지원합니다. 기존의 윈도우에서는 wave 방식으로는 한 번에 한 개의 소리밖에 출력할 수 없지만, 웨이브 테이블 미디와 wave방식의 음성을 동시에 출력할 수 있습니다. 다이렉트 사운드는 사운드 카드의 버퍼와 직접 데이터를 주고 받음으로써 사운드 카드의 사운드 채널을 직접 제어합니다. 따라서, 고음질이면서도 지연이 거의 없는 사운드와 믹싱 기능을 제공하며 윈도우용 게임에서 현실감 있는 사운드를 재생해 냅니다.

5) DirectInput

입 출력 장치의 제어를 위한 규격으로, 주로 조이스틱/게임패드에 대한 입력 규격입니다. 상대포인터/절대포인터/상대변위포인터 등에 대한 통합규격입니다. 느린 속도로 작동하는 입출력 장치들을 안정적으로 사용하기 위해 개발되었습니다. 2차원 입력장치인 마우스는 물론 각종 3차원 입력장치에 대한 응용도 가능하도록 되어 있습니다.

6) DirectPlay

다이렉 트 플레이는 네트웨크에서 여러 사용자가 동시에 게임을 할 수 있도록 만들어진 것입니다. 다이렉트 플레이 객체와 다이렉트 플레이 서버로 구성됩니다. 다이렉트 플레이 객체의 통신 대상은 게임이고, 다이렉트 플레이 서버가 모뎀이나 랜의 네트워크 연결을 담당합니다. 다이렉트 플레이는 단일 인터페이스를 제공함으로써 네트워크 게임 제작사가 네트워크 관련 부분을 개발할 필요가 없도록 만들었습니다.

+ Recent posts