Search
Duplicate

DirectX 12 에 대한 소개

예전과는 다르게 지금은(2025년 기준) Directx11만 가지고 그래픽스 개발자로 취업하기가 어려워졌습니다. 챗 GPT의 발달로 대부분 기술은 쉽게 찾아서 구현이 가능하고 어려운 논문수준의 기술들도 이제는 AI를 이용해서 쉽게 구현할수 있습니다. AI의 발달로 그래픽스 이론자체의 중요성보다 게임에 맞는 하드웨어 최적화와 성능의 중요성이 커졌습니다. 그래서 업계에서 DX12/vulkan 을 요구하는 경우가 많아졌습니다. dx11의 지원은 점점 떨어지고 있습니다. 다만 난이도 차이떄문에 한번은 11을 학습하고 지나갸아 합니다.
DirectX 12 는 윈도우와 엑스박스에서 사용 되는 최신버전 그래픽스 API 입니다. 불칸, 메탈, WebGPU 와 같은 최신 그래픽스 API로 GPU(하드웨어)에 더 가깝게 만들어진 API 입니다.
그래서 더 빠르게 실행할수 있습니다. DX11에 비하면 조금 복잡할 수는 있습니다. 이것이 무엇을 의미하냐면 개발자가 직접 파이프라인 상태를 생성하고, 명령(command)를 분류하여 큐에 제출 할수 있습니다. 즉 직접 큐에 GPU 명령을 넣기 떄문에 멀티쓰레드 환경에서도 가능한 구조라고 보시면 됩니다.
directx는 플랫폼 독점성에도 불구하고 오버워치, 콜오브듀티, 포트나이트, 스팀 등 에서 다양하게 사용되는 유명한 그래픽스 API 입니다.
위내용을 순서대로 정리해보자면

1. DX12 및 Vulkan으로의 전환

DX12와 Vulkan은 더 높은 성능과 효율성을 제공
DX11은 고레벨 API이므로 드라이버가 많은 최적화를 자동으로 수행하지만, DX12와 Vulkan은 로우레벨 API라서 개발자가 더 많은 제어권을 가질 수 있습니다.
멀티스레딩, 메모리 관리, 배치 처리 등에서 DX12/Vulkan이 CPU 오버헤드를 줄이고 성능을 극대화할 수 있습니다.
업계에서 DX12/Vulkan을 요구하는 경우가 많아짐
AAA 게임, 최신 그래픽 엔진(Unity, Unreal Engine 등)은 DX12/Vulkan을 기본적으로 지원하며, DX11은 점점 지원이 축소되고 있음.
결론: DX12와 Vulkan이 더 나은 성능과 기능을 제공하므로 DX11 개발자는 점점 설 자리가 좁아짐.

2. DX11은 최신 하드웨어 최적화를 제대로 활용하지 못함

DX11은 멀티스레드 렌더링이 제한적
DX12/Vulkan에서는 명령 버퍼를 멀티스레드로 직접 제어할 수 있지만, DX11에서는 드라이버가 자동으로 최적화해야 하므로 병목이 발생하기 쉬움.
레이트레이싱(Ray Tracing) 등 최신 기술 지원 부족
DX12의 DXR(DirectX Raytracing) API를 통해 레이트레이싱을 본격적으로 지원하지만, DX11에는 공식적인 레이트레이싱 지원이 없음.
VR, AI 기반 렌더링 등 최신 그래픽 기술과의 연동이 어려움
결론: 최신 GPU 기능을 활용하려면 DX12/Vulkan이 필수적이므로 DX11은 점점 뒤처짐.

3. 그래픽스 개발자의 경쟁력 하락

DX11만 할 줄 아는 개발자는 최신 기술 스택을 따라가기 어려움
취업 시장에서는 DX12/Vulkan/OpenGL/Metal과 같은 최신 기술 경험이 중요함.
DX11은 유지보수나 하위 호환성 작업에는 유용하지만, 신입/주니어 개발자라면 DX12나 Vulkan을 배워야 경쟁력이 있음.
대형 게임 스튜디오/엔진 회사에서 DX11 중심으로 개발하는 경우가 줄어듦
Unreal Engine 5, Unity HDRP(High Definition Render Pipeline) 등은 DX12/Vulkan 최적화를 중점적으로 진행하고 있음.
결론: DX11 경험만으로는 최신 그래픽 개발 트렌드에 적응하기 어렵고, DX12/Vulkan을 익혀야 경쟁력을 가질 수 있음.

4. DX11은 유지보수 및 레거시 코드용으로만 사용됨

기존 프로젝트에서 DX11을 유지보수하는 경우는 많지만, 새로운 프로젝트에서 DX11을 선택하는 경우는 거의 없음.
기업 입장에서 DX11 개발자를 뽑을 이유가 적음
DX12/Vulkan 개발자는 DX11도 쉽게 다룰 수 있지만, DX11만 할 줄 아는 개발자는 최신 API를 다루기 어려움.
게임 엔진 및 그래픽 API가 DX12/Vulkan을 기본으로 전환 중
Unity 2023+: HDRP는 DX12 최적화
Unreal Engine 5: 기본 렌더링을 DX12로 설정
결론: DX11은 기존 프로젝트 유지보수용이므로 취업 시장에서 수요가 적고, 새로운 프로젝트에서는 DX12/Vulkan을 선호함.

DX11을 다룰 줄 안다면 어떻게 대비해야 할까?

1.
DX12/Vulkan을 배우자
DX12/Vulkan API를 활용한 멀티스레드 렌더링, 로우레벨 그래픽스 개발 경험을 쌓아야 함.
DX11 경험이 있다면 DX12를 배우는 것이 상대적으로 쉬움(D3D12는 D3D11의 확장 버전처럼 볼 수도 있음).
2.
최신 그래픽 기술을 익히자
레이트레이싱(DXR), RTX 기술, PBR(Physically Based Rendering), AI 기반 렌더링 등을 공부하면 경쟁력이 높아짐.
3.
게임 엔진과의 연동 경험 쌓기
Unreal Engine 5(DX12 기반), Unity HDRP(DX12/Vulkan 기반)와 같은 최신 엔진을 활용한 그래픽 프로그래밍 경험이 중요함.
신규 그래픽스 개발자로 취업하기는 점점 어려워지는 추세이고 dx12, vulkan 같은 최신그래픽 API 를 활용할수 있는 능력을 갖추는 것이 경쟁력을 높이는 방법입니다.

강의 목차

Initializing API : DirectX 12 초기화
Raster Graphics Pipeline : 레스터라이제이션 렌더링 기반 실행을 위한 명령어 및 리소스 생성
Mesh Shader Pipeline : 메쉬쉐이더 렌더링 기반 실행을 위한 명령어 및 리소스 생성
Compute Graphics Pipeline : 컴퓨트 셰이더를 사용 하기 위한 리소스 생성과 명령어
The Ray Tracing Pipeline : 레이트레이싱을 사용 하기 위한 가속 구조, 셰이더 레코드 테이블