月刊 아이러브PC방 4월호(통권 353호)에 게재된 기사입니다.

DirectX는 윈도우용 PC 게임을 플레이하는데 요구되는 필수 요소로, 게임에 관심 있는 사람이라면 누구나 한 번쯤 들어본 적이 있을 것이다. 특히 윈도우 XP가 대세이던 시절에 PC방을 운영해 본 경험이 있는 업주라면 DirectX와 관련한 게임 실행 오류를 접하거나 직접 파일을 설치해 문제를 해결해본 경험이 있을 수도 있는데, 당시만 해도 9.0c에 머물던 DirectX가 어느덧 ‘DirectX 12 Ultimate(이하 DX 12 얼티밋)’ 버전으로의 진화를 눈앞에 두고 있다.

지난달 마이크로소프트는 윈도우 운영체제를 위한 차세대 그래픽 API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스) ‘DirectX 12 Ultimate(이하 DX 12 얼티밋)’를 발표하고 차세대 게임 그래픽에 새로운 변화를 예고했다. 곧바로 그래픽카드 시장을 양분하는 Nvidia와 AMD도 이를 지지하겠다고 밝혔는데, 대체 DirectX가 무엇이기에 이렇게 호들갑을 떠는지 궁금한 독자들을 위해 이번 시간에는 윈도우와 DirectX의 변천사를 자세히 살펴봤다.

윈도우용 PC 게임을 위해 개발된 DirectX
지난 1995년에 출시된 ‘윈도우 95(Windows 95)’ 운영체제는 일명 GUI로 불리는 그래픽 사용자 인터페이스(Graphical User Interface)를 선보이며 PC를 사용하는 새로운 방법을 제시했다. 이전까지 PC 운영체제의 주류였던 ‘도스(DOS)’의 경우 명령어를 일일이 입력해야 하는 방식으로 사용이 어렵고 불편해 널리 대중화되지 않았지만, GUI 기반의 ‘윈도우 95’는 마우스 하나만으로 다양한 기능을 손쉽게 이용할 수 있어 컴퓨터 초보자들도 쉽게 접근할 수 있었다.

다만, 그래픽 기반의 인터페이스를 사용하다 보니 게임에서 중요한 그래픽카드와 사운드카드의 자원 사용에 제약이 뒤따랐고, 게임 개발자들이 윈도우보다 도스를 게임 개발에 적합한 운영체제로 여기는 분위기마저 형성됐다. 일찌감치 PC 게임의 파급력에 주목한 MS는 게임 구동이 원활하지 않을 경우 윈도우가 성공하기 어렵다고 판단했고, 이를 해결하기 위해 통합 응용 프로그램 프로그래밍 인터페이스(API, Application Programming Interface)인 DirectX를 세상에 내놓게 된다.

MS는 DirectX의 우수성을 널리 알리기 위해 당시 도스용 PC 게임으로 최고의 주가를 올리던 <둠2(Doom2)>의 윈도우 버전인 <둠95(Doom95)>를 이듬해인 1996년에 선보이며 윈도우 운영체제와 PC 게이밍 플랫폼의 새로운 가능성을 제시했다. 하지만 초창기 기술적인 한계로 대중화되기까지는 좀 더 많은 시간이 흘러야만 했다.

DirectX의 장점과 단점
통합 API인 DirectX는 윈도우상에서 접근이 어려운 하드웨어의 자원을 게임이 좀 더 손쉽게 활용할 수 있게 하는 도구로, 게임 개발자들의 편의를 돕는 장치 정도로 이해하면 된다.

도스에서는 게임 개발자가 직접 각종 하드웨어(그래픽카드, 사운드카드, 키보드, 마우스 등)를 제어하는 방식으로 게임을 개발해 하드웨어 성능을 최대한으로 끌어낼 수 있었지만 다양한 하드웨어 호환성을 모두 보장하지 못하는 어려움도 뒤따랐다. 때문에 개발 마무리 단계에서 호환성 테스트가 충분히 진행되지 않을 경우 멀쩡하게 동작하던 게임이 특정 그래픽카드에서는 구동되지 않는다거나, 특정 사운드카드에서만 소리가 재생되는 등의 호환성 문제가 불거질 수밖에 없었다.

반면 DirectX는 프로그래밍 규칙을 표준화하는 방식을 취해 DirectX 표준에 부합하기만 하면 개발자가 하드웨어 호환성을 일일이 검증하지 않아도 DirectX를 지원하는 하드웨어에서는 원활하게 구동할 수 있다. 하지만 구조상 한 번에 접근할 수 있었던 시스템 자원을 몇 단계를 거쳐야 사용할 수 있게 되면서 성능이 저하될 수밖에 없었는데, 이 때문에 초기 윈도우 게임은 도스 게임보다 품질이 낮은 경우가 많았다. 이런 문제들은 시간이 지나면서 점차 개선되고 DirectX 표준을 지원하는 하드웨어가 늘어나면서 DirectX는 윈도우와 함께 PC 게임의 핵심 플랫폼으로 떠오르게 된다.

2D 중심에서 3D로 치열했던 DirectX 변천사
이제는 우리가 익히 알고 있는 DirectX지만 1995년 처음 공개될 때만 해도 Windows Game SDK란 이름을 갖고 있었다. 그래픽을 구현하는 DirectDraw, 사운드를 처리하는 DirectSound, 입력장치를 제어하는 DirectInput 등으로 구성된 Windows Game SDK는 그래픽 처리 단계가 많고 속도가 느려 효율이 매우 떨어졌고, 당시 붐이 일기 시작한 3D 게임에는 대응하지 못하는 문제가 있었다.

이에 마이크로소프트는 1996년 Direct3D를 추가한 DirectX 2.0을 선보였는데, 여전히 퍼포먼스 면에서 경쟁 API인 OpenGL과 부두(Voodoo) 그래픽카드로 유명한 3dfx사의 Glide API에 밀려 제대로 힘을 쓰지 못했다. 이후 3.0부터 6.1에 이르기까지 입체 음향 기술인 DirectSound3D와 진동 기술을 추가하고 거듭 3D 성능을 개선하면서 발전한 DirectX는 마침내 1999년 공개된 7.0 버전을 통해 OpenGL보다도 나은 퍼포먼스를 선보이며 본격적인 DirectX 기반 윈도우 게임 시대를 주도하게 된다.

이후 DirectX는 8.0 시대를 지나 9.0 시대로 접어들면서 황금기를 맞이하게 된다. 특히 최종 완성판인 DirectX 9.0c는 <리그오브레전드>, <서든어택>, <던전앤파이터>, <스타크래프트>, <리니지>, <메이플스토리>, <카트라이더>, <뮤> 등 지금까지도 PC방에서 활약하고 있는 수많은 온라인 게임들의 대부분을 아우르는 막강한 위용을 자랑한다. 이는 윈도우 비스타와 함께 몰락한 DirectX 10의 영향도 컸는데, 2009년 10월 윈도우 7과 함께 DirectX 11이 등장할 때까지 약 5년간의 공백이 생기면서 많은 개발사들이 DirectX 9.0c 기반으로 게임을 개발했기 때문이기도 하다.

DirectX 12 Ultimate이 보여줄 혁신적인 게임 그래픽
지난 3월 MS가 발표한 ‘DirectX 12 Ultimate(이하 DirectX 12U)’은 2015년 윈도우 10과 함께 정식 발표된 DirectX 12의 개선 버전이다. 비동기 연산과 제조사를 가리지 않는 다중 GPU 구성 지원 등의 다양한 신기술과 대폭 강화한 퍼포먼스를 특징으로 내세운 DirectX 12를 토대로 더욱 향상된 그래픽 품질과 연산 효율을 추구하고 있다.

여기에는 광선 추적을 통해 보다 사실적인 게임 그래픽을 구현하는 DirectX Raytracing을 비롯해 중요한 부분은 부각하고 덜 중요한 부분은 간소화해 부하를 줄이는 Variable Rate Shading, 역동적인 모델링을 더욱 효율적으로 구현하는 Mesh Shader, 필요할 때만 텍스처를 로딩해 부하를 낮추고 속도를 높이는 Sampler Feedback 기술 등이 포함되어 있어 현재 PC방 게임 가운데 최고의 그래픽을 보여주고 있는 <검은사막>과 같은 게임들이 좀 더 많아질 것으로 보이며, 더욱 사실적인 게임 그래픽 시대를 열어줄 것으로 보인다.

지금까지 DirectX의 개념과 역사에 대해 간략히 살펴봤다. 결론적으로 오늘날 PC방에서 실감 나는 그래픽의 게임을 즐길 수 있게 된 배경에는 윈도우를 PC 게임 업계 최정상 플랫폼으로 만들어 준 DirectX와 멈추지 않는 하드웨어 발전이 있었다는 정도만 기억하면 될 것이다.

저작권자 © 아이러브PC방 무단전재 및 재배포 금지