Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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) 2 reviews

17 learners

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

Reviews from Early Learners

What you will learn!

  • 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,710

Learners

56

Reviews

12

Answers

5.0

Rating

9

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

2 reviews

5.0

2 reviews

  • kimwonjin5016님의 프로필 이미지
    kimwonjin5016

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    Honestly, I believe this lecture is a must-take at least once, not only for those programming with Direct3D 12, but also for anyone interested in game programming. It wasn't limited to just rendering objects on screen; I gained practical insights into how to manage resources and how to structure a game when building it myself. Like Youngcheon's other Inflearn lectures, this one was also excellent, allowing me to take one more step towards my goal of wanting to build a game from the ground up. Thank you very much!

    • kimsemi87876890님의 프로필 이미지
      kimsemi87876890

      Reviews 1

      Average Rating 5.0

      5

      35% enrolled

      $192.50

      megayuchi's other courses

      Check out other courses by the instructor!