강의

멘토링

커뮤니티

Game Dev

/

Game Programming

DirectX Raytracing Programming

DirectX 12 supports real-time Raytracing, allowing high-quality graphics to be implemented with concise code. However, due to the high barrier to entry, programmers who directly utilize it are rare. Based on experience applying Raytracing to actual games, this course will help you develop your own Raytracing engine.

(5.0) 3 reviews

25 learners

  • megayuchi
raytracing
DirectX12
게임개발자
DirectX
computer-graphics
d3d

Reviews from Early Learners

What you will gain after the course

  • D3D12-DirectX Raytracing API Learning

  • In-house engine development

  • Raytracing Application in In-house Engine

Learn DirectX Raytracing Programming and apply raytracing technology to your own engine.

DirectX 12 supports GPU-based real-time Raytracing. Raytracing technology can implement high-quality game graphics with easier and more concise code. However, due to the high entry barrier of DirectX 12 API and the trend of relying on commercial engines, there are very few programmers who can directly use DirectX Raytracing technology. This lecture, which follows megayuchi's D3D12 lecture, will help students develop their own Raytracing-based engine based on their experience applying DirectX Raytracing to actual games.

Learn about these things

DirectX Raytracing Overview

Introduces the basic concepts of raytracing and explains how it is implemented in the DirectX API.

Raytracing Pipeline State Object (RTPSO)

DirectX Raytracing This is probably one of the three most misunderstood topics in programming. Explains what a Ray Tracing Pipeline State Object is, what it contains, and how to create and use it.

Acceleration Structure

The spatial acceleration structure BVH, which is essential for real-time ray tracing, is implemented as an object called Acceleration Structure in DirectX Raytracing. This explains how to create and use it.

Raytracing Shader

DirectX Raytracing supports several types of shader functions with the concept of callback functions depending on the situation. This explains how to implement the internals of these shader codes and when to use them.

Shader Resource Binding

This is the most difficult part when learning DirectX Raytracing programming for the first time. How to map textures to each part of the mesh, how to pass material data, how to read texture coordinates and normal vectors, it is really difficult at first. I will explain this part step by step clearly.

Creating a simple engine framework and applying Raytracing

There is a long way between a simple shape rendering demo implemented by hardcoding and code for use in a game. In this course, we will implement a simple game framework that can apply ray tracing. Although it is a simple code, it will be a stepping stone for engine development in the long run.

Rigid transformation

Explains how to reflect this in Raytracing code when Game Objects undergo rigid body transformations (rotation/scale/translation) without changing their shape.

Non-rigid transformation

Explains how to implement transformations (such as skinning) that change the appearance of game objects.

Things to note before taking the class

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

Learning Materials

  • pdf provided

  • Provide source code via github and attached files

Player Knowledge and Notes

  • C/C++

  • Windows Programming

  • D3D12 programming knowledge (

    We recommend that you take the following lectures first.)

  • D3D12 Programming Basics ( https://inf.run/WYdms )

  • D3D12 Programming Basics Plus ( https://inf.run/itHDW )


Recommended for
these people

Who is this course right for?

  • Programmer who wants to apply real-time Raytracing technology to their own graphics engine

  • Programmer who learned D3D12 programming but feels they have nowhere to use it

Need to know before starting?

  • D3D12

  • C/C++

  • Windows Programming

Hello
This is

2,968

Learners

70

Reviews

18

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

17 lectures ∙ (11hr 21min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

3 reviews

5.0

3 reviews

  • kim_wonjin님의 프로필 이미지
    kim_wonjin

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    솔직히 이 강의는 Direct3D 12로 프로그래밍하는 분들뿐만 아니라, 게임 프로그래밍을 해보고 싶은 분들이라면 꼭 한 번쯤 들어봐야 할 강의라고 생각합니다. 단순히 화면에 물체를 렌더링하는 데 그치지 않고, 리소스를 어떻게 관리할지, 직접 게임을 만들 때 어떤 식으로 구조를 잡아가야 할지에 대한 실질적인 인사이트를 얻을 수 있었습니다. 영천님의 다른 인프런 강의들처럼 이 강의 역시 매우 훌륭했고, 덕분에 바닥부터 게임을 만들어보고 싶다는 제 목표에 한 걸음 더 다가갈 수 있었습니다. 정말 감사합니다!

    • 오시영님의 프로필 이미지
      오시영

      Reviews 4

      Average Rating 5.0

      5

      65% enrolled

      • Semi Kim님의 프로필 이미지
        Semi Kim

        Reviews 1

        Average Rating 5.0

        5

        35% enrolled

        $192.50

        megayuchi's other courses

        Check out other courses by the instructor!