강의

멘토링

로드맵

Inflearn brand logo image
Game Dev

/

Game Programming

DirectX レイトレーシング プログラミング

DirectX 12はリアルタイムRaytracingをサポートしており、高品質なグラフィックを簡潔なコードで実装可能です。 しかし、高い参入障壁のため、これを直接活用するプログラマーは稀です。 この講座は、実ゲームに適用した経験を基に、受講者の皆様がご自身でRaytracingエンジンを開発できるようお手伝いします。

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

学習した受講者のレビュー

こんなことが学べます

  • D3D12-DirectX Raytracing API 学習

  • 自社エンジン開発

  • 独自エンジンへのレイトレーシング技術適用

DirectX Raytracing Programmingを学習し、独自のエンジンにRaytracing技術を適用しましょう。

DirectX 12はGPUベースのリアルタイムRaytracingをサポートします。 Raytracing技術を使用すると、ゲームのグラフィックをより簡単で簡潔なコードで高品質に実装できます。それにもかかわらず、DirectX12 APIの高い進入障壁と商用エンジンに依存するトレンドに押し込まれ、実際のDirectX Raytracing技術を直接使用できるプログラマーはごくわずかです。 megayuchiのD3D12講座に続く本講義は、実際のゲームにDirectX Raytracingを適用し、この経験に基づいて受講者の皆さんが直接Raytracingベースのエンジンを開発するのに役立ちます。

このようなことを学びます。

DirectX Raytracingの概要

Raytracingの基本概念を紹介し、これをDirectX APIではどのように実装しているかを説明します。

RTPSO (Raytracing Pipeline State Object)

DirectX Raytracingプログラミングで、おそらく最も理解しにくい3つのトピックの1つのようです。 Ray Tracing Pipeline State Objectとは何か、どのようなものが含まれているのか、どのように作成して使用するかを説明します。

Acceleration Structure

リアルタイムRaytracingに必要な空間加速構造BVHは、DirectX RaytracingでAcceleration Structureという名前のオブジェクトとして実装されています。これをどのように作成して使用するかを説明します。

Raytracing Shader

DirectX Raytracingは、状況に応じたcallback関数の概念として、さまざまなタイプのシェーダ関数をサポートします。これらのシェーダーコードの内部をどのように実装し、いつ使用するかを説明します。

Shader Resource Binding

初めてDirectX Raytracingプログラミングを学習するときに最も詰まった部分です。マッシュの各部分にどのようにテクスチャをマッピングするのか、マテリアルデータをどのように渡すべきか、テクスチャ座標と法線ベクトルはどのように読み取るべきか、最初は本当に大変です。この部分をじっくりと説明します。

簡単なエンジンフレームワークを作成してRaytracingを適用する

ハードコーディングで実装した簡単な図形のレンダリングデモやゲームに使用するためのコードとはかなりの距離があります。このコースでは、Raytracingを適用できる簡単なゲームフレームワークを直接実装します。簡単なコードですが、長期的にはエンジン開発のための足場になります。

Rigid transformation

ゲームオブジェクトが形状の変化なしに剛体変換(回転/スケール/移動)される場合、Raytracingコードでこれを反映する方法を説明します。

Non-rigid transformation

ゲームオブジェクトの形状が変化する変換(スキニングなど)が必要なときにどのように実装するかを説明します。

受講前の注意

練習環境

  • オペレーティングシステムとバージョン(OS):Windows 10/11

  • 使用ツール: Visual Studio 2022, pix

  • 必須ハードウェア:DirectX RaytracingがサポートされるGPU - nvidia GTX1060以上、AMD RX6400以降

学習資料

  • pdf提供

  • githubと添付ファイルを介したソースコードの提供

選手の知識と注意事項

  • C/C++

  • Windowsプログラミング

  • D3D12プログラミング知識(

    以下の講義を選手講義することをお勧めします)。

  • D3D12プログラミング基礎編( https://inf.run/WYdms

  • D3D12プログラミング基礎プラス( https://inf.run/itHDW


こんな方に
おすすめです

学習対象は
誰でしょう?

  • 自社製グラフィックエンジンに リアルタイムRaytracing技術を 実装したい プログラマー

  • D3D12プログラミングを学習したが、活かせる場がないと感じるプログラマー

前提知識、
必要でしょうか?

  • D3D12

  • C/C++

  • Windowsプログラミング

こんにちは
です。

2,746

受講生

57

受講レビュー

13

回答

5.0

講座評価

9

講座

프로그래머

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/

 

 

カリキュラム

全体

17件 ∙ (11時間 21分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • kim_wonjin님의 프로필 이미지
    kim_wonjin

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

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

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

      受講レビュー 1

      平均評価 5.0

      5

      35% 受講後に作成

      ¥29,284

      megayuchiの他の講座

      知識共有者の他の講座を見てみましょう!