|
마이크로소프트(MS)의 새로운 운영체제 윈도우 비스타(Windows Vista)의 출시와 함께 등장한 DirectX 10은 PC용 3D 게임 표준 그래픽 API로 자리잡은 DirectX 시리즈의 최신 버전입니다. API(Application programming interface)는 프로그램이 원하는 작업을 하드웨어에서 수행할 수 있도록 변환하여 하드웨어 제어 기능을 제공하는 것으로 API를 사용하게 되면 과거처럼 게임 개발자가 모든 하드웨어에 맞춰 일일히 프로그래밍을 할 필요가 없으며, 그래픽 카드 제조사도 API 지원 제품을 만들면 되므로 서로 이득을 줄 수 있습니다.
CPU 오버헤드를 줄인 DirectX 10
3D 그래픽용 API는 그래픽 프로세서 동작을 위해 필요한 기본 과정을 CPU에서 처리해야 하기 때문에 성능 좋은 그래픽 카드를 사용해도 CPU가 이를 받쳐주지 못하면 게임 화면이 끊기거나 화면 품질이 떨어지는 등의 문제가 생기게 됩니다. CPU의 부하 때문에 그래픽 카드가 제 성능을 낼 수 있도록 필요한 정보를 제 때 전달해주지 못하기 때문입니다.

DirectX 10에서는 CPU 오버헤드 때문에 양과 질을 제한시켰던 DirectX 9과 달리 처리 과정을 개선하였고 CPU 오버헤드 발생 요인 중 몇가지 작업을 CPU가 아니라 그래픽 카드의 GPU에서 처리하도록 만들었습니다. 또한 쉐이더 데이터 처리를 CPU를 거치지 않고 다이렉트로 메모리에 저장하고 읽어올 수 있게 되어 DirectX 9 때와 비교해서 CPU 오버헤드를 크게 줄였습니다.
오버헤드가 줄어든 것 외에 게임 개발자를 위해 게임에서 사용할 수 있는 그래픽 자원도 크게 늘려 더 게임 개발을 더욱 원활하게 해주며 보다 높은 품질의 게임을 만들 수 있게 했습니다.
통합 쉐이더 아키텍쳐 도입 및 지오메트리 쉐이더 추가
DirectX 10에서는 통합 쉐이더 아키텍쳐(Unified Shader Architecture)라고 불리는 새로운 구조가 사용됩니다. DirectX 9 세대까지의 그래픽 프로세서는 단순히 폴리곤에 텍스쳐를 얼마나 빨리 입히는 등 고정된 기능들을 얼마나 빠르게 수행할 수 있느냐를 중요시했고, 이에 따라 그래픽 프로세서 역시 파이프라인처럼 일렬로 내려오는 반복적인 기능을 빠르게 처리할 수 있도록 숫자를 늘리거나 처리 효율을 높이는데만 급급했습니다.
하지만 최신 게임에서 점점 단순 처리 과정의 반복보다 텍스쳐를 이용한 다양한 작업이나 쉐이더를 이용한 고급 그래픽 효과를 얼마나 빨리 처리할 수 있느냐를 강조하면서 게임에 따라 그래픽 프로세서의 효율이 높아지거나 떨어지는 일이 발생했습니다.

DirectX 10에서 등장한 통합 쉐이더 아키텍쳐는 쉐이더 모델(Shader Model) 4.0을 지원해 이전에 버텍스 쉐이더, 픽셀 쉐이더로 나눠져서 서로 다른 작업만 처리할 수 있었던 쉐이더 구조를 통합된 쉐이더 형태로 바꿔 하나의 쉐이더 유닛이 픽셀 쉐이더, 버텍스 쉐이더의 기능을 모두 할 수 있도록 만들었습니다. 따라서 게임이 버텍스 쉐이더 작업이나 픽셀 쉐이더 작업을 더 많이 요구한다고 해도 그래픽 프로세서는 게임의 요구에 맞춰 통합 쉐이더의 작업을 결정하게 되므로 자원을 낭비하지 않고 최적화된 성능을 발휘하게 됩니다.

또한 DirectX 10에서 새롭게 추가된 기능인 지오메트리(Geometry) 쉐이더 연산도 통합 쉐이더 아키텍쳐를 통해서 지원하게 됩니다. 쉐이더 모델 4.0에 새로 들어간 지오메트리 쉐이더는 미리 정해진 단순한 형태의 물체를 보다 복잡한 모습으로 확장된 물체로 바꿔줍니다. DirectX 9(좌)에서는 단순하게 표현되었던 물체들이 DirectX 10으로 지오메트리 쉐이더 기능을 사용한 매핑 기법으로 더 생동감 있게 바꿀 수 있습니다.
DirectX 10을 지원하는 그래픽 카드가 필요
하지만 DirectX 10은 새로운 API이기 때문에 하드웨어적으로 DirectX 10을 지원할 수 있는 그래픽 카드를 필요로 합니다. DirectX 10이 들어간 윈도우 비스타 운영체제라고 할지라도 DirectX 10을 지원하는 그래픽 카드를 사용하지 않으면 Direct9 이하의 하위 API로 동작하게 되므로 DirectX 10 지원 게임을 제대로 즐기려면 DirectX 10을 지원하는 그래픽 카드를 사용해야 합니다.
현재까지 DirectX 10을 정식 지원하는 그래픽 카드는 NVIDIA에서는 GeForce 8 시리즈, AMD에서는 ATI Radeon HD 2000 시리즈가 DirectX 10을 지원합니다.

한편, 인텔의 경우는 별도의 그래픽 카드는 없고 내장 그래픽 메인보드 중에 GMA X3100과 X3500 코어가 들어간 제품이 DirectX 10을 지원하는 것으로 알려지고 있습니다.
현재까지 각 제조사별로 DirectX 10을 지원하는 그래픽 카드 리스트는 아래와 같습니다.
|