게임 개발

/

게임 프로그래밍

D3D12 프로그래밍 - 기초편

이제는 주류 그래픽 API의 자리가 D3D11에서 D3D12로 넘어간 것 같습니다. D3D12는 매력적인 기능들을 지원하지만 학습 난이도가 높은 편입니다. 하지만 차근차근 학습한다면 개인도 D3D12 API로 게임을 만들 수 있다고 생각합니다. 이에, D3D 12로 게임을 직접 만들어 본 경험을 바탕으로, D3D12 게임 프로그래밍에 도전할 수 있는 지식 기반을 전달하고자 합니다.

(5.0) 수강평 5개

수강생 48명

Thumbnail

중급자를 위해 준비한
[DirectX12, 3d-graphics] 강의입니다.

이런 걸
배워요!

  • D3D12프로그래밍 기초

  • 엔진 프로그래밍 기초

Direct3D 12에 대하여

3-4년 전까지만 해도 D3D12는 PC게임의 주류 API는 아니었습니다. 여전히 많은 게임들이 D3D11로 개발되어 출시되고 있었고 개발이 까다로운 D3D12는 주류 API가 되기 어려워 보였습니다.

그러던 것이 RayTracing 등 직접적으로 그래픽 품질을 높일 수 있는 기능들에 힘입어 D3D12가 주류 API로 부상하게 되었습니다.

인기있는 상용엔진의 메인 API도 D3D11이 아닌 D3D12로 옮겨졌습니다. 흔치는 않지만 자체 개발하는 엔진들도 D3D12로 개발되고 있습니다.

이제 D3D12는 명백하게 주류 그래픽 API입니다. 상용엔진을 활용하는데만 집중한다고 하면 상관없겠으나 그 구조를 뜯어보고 커스터마이즈 해야하거나, 직접 렌더링 코드를 작성해서 자신만의 엔진을 만들고 싶다면 D3D12는 피해갈 수 없는 과정이라고 생각합니다.

D3D12학습이 이전보다는 어려운 편이지만 Descriptor Table, Resource Barrier, 비동기 렌더링 등 다소 생소한 개념들에 익숙해지면 이후에는 D3D11과 비슷한 느낌으로 개발이 가능합니다.

이 강의는 기초적인 그래픽스 지식을 갖추고 있고 D3D12 이전의 전통적인 그래픽 API(D3D11, OpenGL등)를 다뤄보신 분들이 D3D12 API에 적응할 수 있도록 길을 알려드리는데 초점을 맞추고 있습니다.

이런 내용을 다루고 있습니다

  • VertexBuffer와 IndexBuffer를 이용해서 도형을 그리는 방법

  • Texture를 사용하는 방법

  • Descriptor / Descriptor Heap / Descriptor Table 등 리소스 바인딩을 위한 새로운 개념들에 대한 이해

  • DirectX12 엔진 개발을 위해 필요한 자료구조들을 구현하는 방법

    D3D12에서 성능문제를 피하기 위한 필수기술

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • D3D9/D3D11 또는 OpenGL경험자

  • 그래픽스 기초지식을 갖춘 C/C++프로그래머

선수 지식,
필요할까요?

  • C/C++

  • 그래픽스 기초

  • D3D9/10/11 or OpenGL

프로그래머

C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket

Blog : https://megayuchi.com

Youtube : https://youtube.com/megayuchi

LinkedIn : https://www.linkedin.com/in/megayuchi/

 

 

커리큘럼

전체

11개 ∙ (7시간 9분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!