인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

D3D12 프로그래밍 - 기초편

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

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에서 성능문제를 피하기 위한 필수기술

수강 전 참고사항

실습 환경

  • 운영 체제 및 버전(OS): Windows 10/11

  • 사용 도구: Visual Studio 2022


학습 자료

  • pdf 제공

  • github와 첨부파일을 통한 소스코드 제공

실습 환경

  • 운영 체제 및 버전(OS): Windows 10/11

  • 사용 도구: Visual Studio 2022, pix

  • 필수 하드웨어: DirectX Raytracing이 지원되는 GPU - nvidia GTX1060이상, AMD RX6400 이상

선수 지식 및 유의사항

  • C/C++

  • Windows 프로그래밍


이후 연결되는 강의

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • D3D9/D3D11 또는 OpenGL경험자

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

선수 지식,
필요할까요?

  • C/C++

  • 그래픽스 기초

  • D3D9/10/11 or OpenGL

안녕하세요
megayuchi입니다.

2,374

수강생

33

수강평

11

답변

5.0

강의 평점

9

강의

프로그래머

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/

 

 

더보기

수강평

전체

6개

5.0

6개의 수강평

  • Optimizer님의 프로필 이미지
    Optimizer

    수강평 1

    평균 평점 5.0

    5

    100% 수강 후 작성

    어느정도 Vulkan에 익숙해진 상황에서 수강하고 있는데 이 정도로 깔끔하게 최신 GraphicsAPI 기능들을 설명한 강의는 처음 봅니다. 강의자 분의 내공이 돋보이는 강의입니다. 다만 그래픽스 프로그래밍을 처음 접하시는 분들은 따라가기가 조금 힘들 것 같긴합니다. ps. 최신 깃허브 보니 후속 강의가 나올 것 같은데 기대되네요ㅎㅎ

    • 이태우님의 프로필 이미지
      이태우

      수강평 13

      평균 평점 4.8

      5

      100% 수강 후 작성

      DirectX12 뿐만 아니라 전체 구조, 메모리 정리 등 굉장히 도움 많이 됐습니다. STL 떡칠에 익숙해지신 분들이라면 이 강의와 코드를 보고 실력 향상에 도움이 될 것입니다.

      • fordeer0717님의 프로필 이미지
        fordeer0717

        수강평 2

        평균 평점 5.0

        5

        64% 수강 후 작성

        예전에 학교나 독학으로 DX11, OpenGl 배웠을 때보다 강사님의 설명을 들으면서 DX 12 를 배우는게 오히려 더 이해가 쉽습니다. 더 하드웨어나 시스템에 직관적이고 재밌습니다. 기초편으로 끝나지 않았으면 좋겠습니다

        • hahaha~님의 프로필 이미지
          hahaha~

          수강평 16

          평균 평점 5.0

          5

          64% 수강 후 작성

          • SeungJun Yoo님의 프로필 이미지
            SeungJun Yoo

            수강평 1

            평균 평점 5.0

            5

            100% 수강 후 작성

            D3D11같은 기존 API에서 D3D12로 넘어올 때의 가장 큰, 주의해야할 변경점을 자세히 알려주는 강좌입니다. 조금 더 다양한(오류가 발생하는 경우를 포함) Resource Barrier 활용 케이스와 마지막 강의에 등장하는것과 같이 단일 오브젝트에 대한 다양한 Root Signature 설정 케이스, Descriptor Table 유지 케이스 등이 소개되면 더욱 좋을것 같습니다. 또는 샘플코드 레포지토리에 수강생들이 풀리퀘스트로 다양한 케이스를 올려보는것도 좋을것 같습니다.

            megayuchi님의 다른 강의

            지식공유자님의 다른 강의를 만나보세요!

            월 ₩39,600

            5개월 할부 시

            ₩198,000