강의

멘토링

커뮤니티

Game Dev

/

Game Programming

D3D12 Programming - Basics

It seems the mainstream graphics API has shifted from D3D11 to D3D12. D3D12 supports attractive features but has a steep learning curve. However, I believe that with gradual learning, individuals can also create games using the D3D12 API. Therefore, based on my experience building a game directly with D3D12, I aim to provide the knowledge base needed to challenge D3D12 game programming.

(5.0) 9 reviews

106 learners

Level Intermediate

Course period Unlimited

  • megayuchi
directx
directx
directx12
directx12
3d-graphics
3d-graphics
DirectX
DirectX
d3d
d3d
directx-12
directx-12
DirectX12
DirectX12
directx
directx
directx12
directx12
3d-graphics
3d-graphics
DirectX
DirectX
d3d
d3d
directx-12
directx-12
DirectX12
DirectX12

Reviews from Early Learners

What you will gain after the course

  • D3D12 Programming Basics

  • Basic Engine Programming

About Direct3D 12

Until 3-4 years ago, D3D12 was not the mainstream API for PC games. Many games were still being developed and released with D3D11, and it seemed difficult for D3D12, which was difficult to develop for, to become the mainstream API.

Then, D3D12 emerged as the mainstream API thanks to features such as RayTracing that could directly improve graphic quality.

The main API of popular commercial engines has also been moved from D3D11 to D3D12. Although it is not common, self-developed engines are also being developed with D3D12.

Now D3D12 is clearly the mainstream graphics API. If you only focus on utilizing commercial engines, it may not matter, but if you want to dissect and customize their structure, or write your own rendering code to create your own engine, I think D3D12 is an unavoidable process.

Learning D3D12 is more difficult than before, but once you get used to the somewhat unfamiliar concepts such as Descriptor Table, Resource Barrier, and asynchronous rendering, you will be able to develop with a similar feel to D3D11.

This course focuses on helping those with basic graphics knowledge and experience with traditional graphics APIs (D3D11, OpenGL, etc.) prior to D3D12 to adapt to the D3D12 API.

This is what it covers

  • How to draw shapes using VertexBuffer and IndexBuffer

  • How to use Texture

  • Understanding new concepts for resource binding such as Descriptor / Descriptor Heap / Descriptor Table

  • How to implement data structures required for DirectX12 engine development

    Essential techniques to avoid performance issues in D3D12

Notes before taking the course

Practice environment

  • Operating System and Version (OS): Windows 10/11

  • Tools used: Visual Studio 2022


Learning Materials

  • pdf provided

  • Provide source code via github and attached files

Practice environment

  • Operating System and Version (OS): Windows 10/11

  • Tools used: Visual Studio 2022, pix

  • Required Hardware: GPU with DirectX Raytracing support - nvidia GTX1060 or higher, AMD RX6400 or higher

Player Knowledge and Notes

  • C/C++

  • Windows Programming


Lectures that follow

Recommended for
these people

Who is this course right for?

  • Experience with D3D9/D3D11 or OpenGL

  • C/C++ programmer with basic graphics knowledge

Need to know before starting?

  • C/C++

  • Graphics Basics

  • D3D9/10/11 or OpenGL

Hello
This is

3,053

Learners

77

Reviews

20

Answers

5.0

Rating

10

Courses

프로그래머

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

 

인프런 강의

D3D12프로그래밍 기초편 - https://inf.run/7gJhS

D3D12프로그래밍 기초플러스 - https://inf.run/itHDW

DirectX Raytracing 프로그래밍 - https://inf.run/cQqx7

Windows System 프로그래밍 - https://inf.run/AwfCv

Windows Debugging Tips - https://inf.run/zL7E4

 

Blog : https://megayuchi.com

Youtube : https://youtube.com/megayuchi

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

 

 

Curriculum

All

11 lectures ∙ (7hr 9min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

9 reviews

5.0

9 reviews

  • baamdoo님의 프로필 이미지
    baamdoo

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    I am taking this course after becoming somewhat familiar with Vulkan, but this is the first time I have seen a lecture that explains the latest GraphicsAPI functions so neatly. This is a lecture where the instructor's skills stand out. However, it seems like it will be a little difficult for those who are new to graphics programming to follow along. ps. Looking at the latest GitHub, it looks like there will be a follow-up lecture, so I'm looking forward to it. ㅎㅎ

    • taewoolee2939님의 프로필 이미지
      taewoolee2939

      Reviews 14

      Average Rating 4.8

      5

      100% enrolled

      It was very helpful not only for DirectX12 but also for the overall structure, memory management, etc. If you are familiar with STL, this lecture and code will help you improve your skills.

      • mjdkimss5569님의 프로필 이미지
        mjdkimss5569

        Reviews 18

        Average Rating 5.0

        5

        64% enrolled

        • fordeer07173813님의 프로필 이미지
          fordeer07173813

          Reviews 2

          Average Rating 5.0

          5

          64% enrolled

          Compared to when I learned DX11 and OpenGl in school or by self-study, Learning DX 12 while listening to the instructor's explanation is easier to understand. It's more intuitive and fun for hardware and systems. I hope it doesn't end with the basics.

          • hongildong님의 프로필 이미지
            hongildong

            Reviews 1

            Average Rating 5.0

            5

            100% enrolled

            This is a lecture that explains in detail the biggest changes that need to be taken into account when moving from existing APIs such as D3D11 to D3D12. It would be better if it introduces a bit more diverse (including cases where errors occur) Resource Barrier utilization cases, various Root Signature setting cases for single objects, and Descriptor Table maintenance cases, as shown in the last lecture. Or, it would be good for students to upload various cases as pull requests to the sample code repository.

            $152.90

            megayuchi's other courses

            Check out other courses by the instructor!