Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ラスタライザとレイトレのハイブリッドレンダリングエンジン

 ラスタライザとレイトレのハイブリッドレンダリングエンジン

自作のレンダリングエンジンに関する、社内勉強会の資料です。

TakayukiKiyohara

September 09, 2022
Tweet

Other Decks in Programming

Transcript

  1. ラスタライザとレイトレのハ
    イブリッドレンダリングエン
    ジン
    株式会社サイバーエージェント
    2022.09.09
    清原 隆行

    View Slide

  2. はじめに
    Chapter : 00

    View Slide

  3. はじめに
    リアルタイムレイトレが発表されてから、コンソールゲーム機の世界ではリアルタイムレイトレを活用したタ
    イトルがどんどん発表されてきています。また、最近のニュースを見ていると、リアルタイムレイトレの足音
    はモバイルの世界にも聞こえてきているように思います。
    このLTではリアルタイムレイトレをオリジナルエンジンに組み込んで得た知見や、CEDECなどで発表されてい
    る実例も踏まえて、現時点でのレイトレの活用のされかたを話していけたらと思います。
    概要

    View Slide

  4. はじめに
    オリジナルエンジンでレイトレが動いている様子
    環境
    ● CPU : Intel Core i7-11800H
    ● GPU : RTX 3070 Laptop
    ● メモリ : 32GB
    ● OS : Windows10/11
    ● Graphics API : DirectX12

    View Slide

  5. はじめに
    ● Chapter-1 リアルタイムレイトレの発表~現在まで
    ● Chapter-2 シンプルなレンダリングエンジン(ラスタライザ法)
    ● Chapter-3 GPUパイプライン(ラスタライザ法)
    ● Chapter-4 複雑なレンダリングエンジン(ラスタライザ法)
    ● Chapter-5 シンプルなレンダリングエンジン(レイトレ―ス法)
    ● Chapter-6 GPUパイプライン(レイトレ―ス法)
    ● Chapter-7 ハイブリッドレンダリングエンジン
    目次

    View Slide

  6. リアルタイムレイトレの発表~現在まで
    Chapter : 01

    View Slide

  7. リアルタイムレイトレの発表~現在
    ● 2018年3月19日、GDC2018にて米MicrosoftからDirectX Raytracingが発表 [1]
    DirectX12のリアルタイムレイトレーシングを行うための拡張APIとして、
    DirectX Raytracing( DXR )が発表される
    ● 同日、米Nvidiaからリアルタイムレイトレーシング技術を提供するNVIDIA® RTXが発表 [2]
    DXRの発表と同日にハードウェアレイトレーシングを行うための専用のRTCoreを搭載したGPUが
    発表される
    ● 2018年9月20日、GeForce RTX 20シリーズが発売
    ● 2018年10月2日、Windows 10 October 2018 UpdateにてDXR正式対応が発表 [3]
    翌日の10月3日より、配信が開始され利用可能となる
    ● 2018年11月半ば、Battlefield Vのアップデートにて、DXRファーストリリース版が配信
    DirectX Raytracingの発表から、対応タイトル発売まで

    View Slide

  8. リアルタイムレイトレの発表~現在
    ● 2020年3月16日、Xbox seriesXのレイトレ対応とアーキテクチャが公開 [6]
    米Microsoftのブログにて、Xbox seriesXのGPUコアがAMD RDNA 2 アーキテクチャベースのも
    のであると公開される [6]
    ● 2020年3月19日、Play Station5の基本スペック公開 [5]
    PS5のGPUのコアはAMD RDNA 2アーキテクチャベースのものであると発表されている
    ● 2020年10月28日、リアルタイムレイトレーシングをサポートするRadeon RX 6000シリーズを発表 [4]
    「AMD RDNA 2 アーキテクチャ」を採用するGPUを発表。ハードウェアレイトレーシングに対応
    AMDとコンソールゲーム機の対応

    View Slide

  9. リアルタイムレイトレの発表~現在
    ● 2018年6月、WWDC2018にてMPS(Metal Performance Shader)を利用したレイトレ―サーが公開 [7]
    ハードウェアレイトレーシングではなく、コンピュートシェーダーを利用したソフトウェアレイト
    レ―シングが公開された
    ● 2020年3月17日、Valukanのハードウェアレイトレ対応が発表 [8]
    4月8日暫定版「Vulkan Ray Tracing」が公開された
    ● 2022年6月6日、WWDC2022にてMetal3において、よりモダンなレイトレ対応が発表
    NVIDIA、AMDなどが実現しているハードウェアレイトレーシングと同等の仕組みを、Metal3で実
    装することを発表した。
    ● 2022年6月、Armから初のハードウェア・レイトレーシング対応GPU「Immortalis」が発表される [9]
    他API(Valukan、Metal)とスマホのレイトレ対応

    View Slide

  10. リアルタイムレイトレの発表~現在
    ● DLSS(Deep Learning Super Sampling)
    GeForce RTX™ GPU にのみに搭載されている専用の Tensor コア AI プロセッサ使用してのアップ
    スケーリングAA [10]
    ● FSR(FidelityFX Super Resolution)
    2021年6月22日にてAMDから公開された [11]
    ● MetalFX Upscaling
    2022年6月、WWDC2022にてDLSS、FSRライクなのアップスケーリングAAが発表された [12]
    Upscaling AA

    View Slide

  11. シンプルなレンダリングエンジン(ラスタライ
    ザ法)
    Chapter : 02

    View Slide

  12. シンプルなレンダリングエンジン(ラスタライザ法)
    ・ゲームループ
    ・レンダリングエンジン
    ・ドローコール
    必要な要素

    View Slide

  13. シンプルなレンダリングエンジン(ラスタライザ法)
    ほぼすべてのゲームには、一 定の周 期でループする
    ゲームループと 呼ばれるものが存 在しています。こ
    のループのなかで、ゲーム 内 のオブジェクトの 状 態
    の更新処理や描画処理が行われています。
    Unityにおいて、このゲームループの実装は強烈に隠
    蔽されていて、ゲームループの根本の処理を変更す
    ることはできません。
    ゲームループ

    View Slide

  14. シンプルなレンダリングエンジン(ラスタライザ法)
    レンダリングエンジンとは1フレームの 絵 を 作 るた
    めのGPUの絵を作 成するための、GPUに対する命 令
    となる描画コマンド(ドローコール)を生成するもので
    す。このサンプルプログラムでは、ゲームオブジェ
    クトのDraw関数を呼び出している箇所がレンダリン
    グエンジンと言えます。この関数の内部で描画コマ
    ンドを作成しています。
    レンダリングエンジン
    レンダリングエンジン

    View Slide

  15. シンプルなレンダリングエンジン(ラスタライザ法)
    次 のサンプルコードは 先 ほどのゲームオブジェクト
    のDraw()関数とUpdate()関数の疑似コードです。
    かなりUnityに寄せた疑似コードとなっています。
    このUpdate() 関 数 では、ゲームオブジェクトのワー
    ルド空間での座標、回転、拡大率からワールド行列
    を計算しています。
    Draw()関数では_meshRendererというメッシュをレ
    ンダリングするためのコンポーネントを 保 持 してい
    たら、_meshRendererのDraw()関数を呼び出してい
    ます。
    GameObjectの中身の疑似コード

    View Slide

  16. シンプルなレンダリングエンジン(ラスタライザ法)
    次の疑似コードは先ほどの_meshRendererのDraw()関数
    の中身です。DirectX12のAPIを利用してメッシュを描画
    するための描画コマンドを作成しています。
    この描画コマンドがGPUに送られると、GPUが絵を描く仕
    事を開始します
    ドローコール

    View Slide

  17. シンプルなレンダリングエンジン(ラスタライザ法)
    ● 定数バッファの更新
    ○ メッシュ共通のワールド行列など、その他も
    ろもろ
    ○ マテリアル個別のものもある
    ● プリミティブトポロジーの設定
    ● 頂点バッファ/インデックスバッファの設定
    ● マテリアルごとのリソースの設定
    ○ ディスクリプタヒープ
    ● GPUパイプラインの設定
    ○ Zテスト/アルファブレンディング/カリング
    シェーダーなどの設定
    ドローコールのための最低限の設定

    View Slide

  18. GPUパイプライン(ラスタライザ法)
    Chapter : 03

    View Slide

  19. GPUパイプライン(ラスタライザ法)
    ● 一つのドローコールを受けてから、絵を表示するまでの一連のGPUが行う仕事のこと
    ● レンダリングパイプライン、グラフィックスパイプラインとも呼ばれる
    ○ Unityにおいてレンダリングパイプラインは別のことを指しているので注意が必要(後述)
    GPUパイプライン

    View Slide

  20. GPUパイプライン(ラスタライザ法)
    1. 入力アセンブラ
    2. 頂点シェーダー
    3. ハルシェーダー
    4. ドメインシェーダー
    5. テッセレータ―
    6. ジオメトリシェーダー
    7. ラスタライザ
    8. ピクセルシェーダー
    9. アウトプットマージャー
    DirectX12におけるGPUパイプライン
    テッセレーションと頂点増減の
    ためのステージ。
    詳細は割愛します。

    View Slide

  21. GPUパイプライン(ラスタライザ法)
    頂 点 バッファ、インデックスバッファ、プリミ
    ティブのトポロジーの 情 報 から、プリミティブを
    構成する頂点データを読み込んで頂点シェーダー
    に渡すステージ。
    下記の関数がInput Assemblerのための関数。
    ● _commandList.IASetPrimitive()
    ● _commandList.IASetVertexBuffer()
    ● _commandList.IASetIndexBuffer()
    入力アセンブラ( Input Assembler )

    View Slide

  22. GPUパイプライン(ラスタライザ法)
    入力アセンブラから受け取った頂点情報を使って、頂点
    の座標変換を行い、2D画面上のどこに描画されるのか
    を計算するプログラマブルステージです。
    正確には頂点シェーダーではローカル座標系⇒ワールド
    座標系⇒カメラ座標系⇒クリップ座標系までの変換を行
    います。
    このクリップ座標系は3D空間となっており、クリップ座
    標系⇒正規化デバイス座標系⇒ビューポート座標系(2D
    空間)への変換はハードウェア(後述するラスタライザ)が
    行うため、プログラミングはできません。
    頂点シェーダー
    正規化デバイス座標系

    View Slide

  23. GPUパイプライン(ラスタライザ法)
    ラスタライザの仕事は下記のように多岐にわたります。
    ● プリミティブ(ポリゴン)の頂点座標をクリップ空間からビューポート空間に変換
    ● ポリゴンの頂点座標から塗りつぶすピクセルを決定するラスタライゼーション
    ● シザー矩形からはみ出すピクセルを除去するクリッピング処理
    ● ピクセルシェーダーに渡すための頂点データの線形補間
    ラスタライザ

    View Slide

  24. GPUパイプライン(ラスタライザ法)
    抽象的な幾何学データからドットの集合であるラスタイメージに変換する処理です。
    ラスタライゼーション

    View Slide

  25. GPUパイプライン(ラスタライザ法)
    頂点シェーダーから出力されたデータをピクセルシェーダーに渡すために計算する処理です。
    頂点データの線型補間
    3頂点のデータから各
    ピクセルシェーダーに
    渡すデータを計算する

    View Slide

  26. GPUパイプライン(ラスタライザ法)
    ラスタライザで 決 定 された 塗 りつぶすためのピクセルのカ
    ラーを 決 定 するためのプログラマブルステージです。プログ
    ラマブルシェーダーの花形スター選手です。
    GLSLやUnityではフラグメントシェーダーと 呼 ばれていま
    す。
    ピクセルシェーダー

    View Slide

  27. GPUパイプライン(ラスタライザ法)
    GPUパイプラインの最後のステージです。ピクセルシェーダーを通過して決まったピクセルカラーをレンダリ
    ングターゲットにどのように合 成するか?そもそも合 成するのか?を決めるステージです。合 成 方 法はアル
    ファブレンディング、合成するかどうかはZテスト、ステンシルテストを行うことで決定されます。
    アウトプットマージャー( Output Merger )

    View Slide

  28. 複雑なレンダリングエンジン(ラスタライザ法)
    Chapter : 04

    View Slide

  29. 複雑なレンダリングエンジン(ラスタライザ法)
    1. プリレンダリング
    a. レンダリングに必要な事前データの作成などを行う。
    2. レンダリング
    a. 実際の描画処理。シンプルなレンダリングエンジンはここの部分だけ。
    3. ポストエフェクト
    a. 2で出来上がった絵に対して、エフェクトをかけていく。カメラアプリの画像加工をイメージする
    と良い。
    4. HUD
    a. ポストエフェクトをかけたくない2Dなどをレンダリングする。3と4を入れ替えると2Dにまで
    ポストエフェクトがかかるので注意!
    forwardレンダリングの典型的な処理

    View Slide

  30. 複雑なレンダリングエンジン(ラスタライザ法)
    ● シャドウマップの作成
    ○ 影生成
    ● ZPrepass
    ○ のちのレンダリングのパスで 無 駄 なピクセル
    シェーダーを 走 らせないためにZバッファを 先
    に作ってしまう。
    ● 速度マップの作成
    ○ モーションブラー
    プリレンダリング

    View Slide

  31. 複雑なレンダリングエンジン(ラスタライザ法)
    ● 不透明オブジェクトの描画
    ○ 不透明オブジェクトは半透明オブジェクトよりも
    先に描画する
    ■ 深度テストで問題が起きるので
    ● 加算オブジェクトの描画
    ● 半透明オブジェクトの描画
    ○ 奥から手前に描画
    レンダリング

    View Slide

  32. 複雑なレンダリングエンジン(ラスタライザ法)
    ● トーンマップ
    ● ブルーム
    ● 被写界深度
    ● スクリーンスペースリフレクション
    ● アンチエイリアス
    ポストエフェクト

    View Slide

  33. 複雑なレンダリングエンジン(ラスタライザ法)
    HUDの描画を加えた最終的なレンダリングエンジン

    View Slide

  34. シンプルなレンダリングエンジン(レイトレ―
    ス法)
    Chapter : 05

    View Slide

  35. シンプルなレンダリングエンジン(レイトレ―ス法)
    はじめに
    このチャプターでは2次 反 射を行わない、シンプ
    ルなレンダリングエンジンを見ていきます。
    今回扱うエンジンは、「ライティングを行わない
    モデル表示を行って、背景は黒にする」という非
    常にシンプルなものになっています。

    View Slide

  36. シンプルなレンダリングエンジン(レイトレ―ス法)
    アルゴリズム概要
    1. レイトレワールド(3Dモデルのポリゴン
    の集合だと思ってください)を構築
    2. カメラからスクリーンのピクセルに 向
    かってレイを飛ばす
    3. 飛 ばしたレイとレイトレワールドとの 衝
    突判定
    4. 衝突した場合は計算したサーフェースの
    カラーをピクセルのカラーとして表示
    5. 衝 突しなかった場 合はピクセルカラーを
    黒とする

    View Slide

  37. シンプルなレンダリングエンジン(レイトレ―ス法)
    1. レイトレワールドの構築
    レイトレワールドはワールド座 標 系での3Dモ
    デルのポリゴン情報を元に構築することができ
    ます。
    この三角形の集合となるレイトレワールドとカ
    メラから飛ばしたレイとの交差判定を行うこと
    でレイトレースを行っていきます。
    Nsight graphicsを利用してキャプチャし
    たレイトレワールドの様子

    View Slide

  38. シンプルなレンダリングエンジン(レイトレ―ス法)
    1. レイトレワールドの構築(ジオメトリ情報の登録)
    このコードはDXRの機能を使って、レイトレ
    ワールド構 築のために3Dモデルのジオメト
    リ情報を設定しているコードの一部です。

    View Slide

  39. シンプルなレンダリングエンジン(レイトレ―ス法)
    1. レイトレワールドの構築(二つの高速化構造の構築)
    シーンのジオメトリ情報の登録ができたら、レイとメッシュ(ポリゴンの集合)との当たり判定を高速化するた
    めに、次の二つの高速化構造を構築します。
    1. BLAS(Bottom Level Acceleration Structure)
    2. TLAS(Top Level Acceleration Struc ture)
    これらの高速化構造の多くはブラックボックスになっていますが、二つとも当たり判定を高速化するために、
    BVH( Bouding Volume Hierarchy )を構築しています。

    View Slide

  40. シンプルなレンダリングエンジン(レイトレ―ス法)
    1. レイトレワールドの構築(BVHとは)
    BVHは軸並行バウンディングボックス( AABB ) を使って、空間を分割した2分木のデータ構造です。BVHを利
    用することによって、レイとメッシュの当たり判定の計算量オーダーをO(N)からO(logN)に近づけることがで
    きます。
    また、空間を分割してツリー構造を作成するアルゴリズムとしてはBVH以外にも下記のようなものがありま
    す。
    ● KD木
    ● BSP木(Binary Space Partitioning)
    ○ https://github.com/KawaharaKiyohara/k2Engine/blob/master/GameTemplate/k2EngineLo
    w/geometry/BSP.cpp

    View Slide

  41. シンプルなレンダリングエンジン(レイトレ―ス法)
    1. レイトレワールドの構築(BLASのBVH)
    BLASのBVHはインスタンスのジオメトリ情報を元に構築されています。
    Root Node
    Leaf Leaf Leaf Leaf Leaf Leaf
    Node Node
    Node Node

    View Slide

  42. シンプルなレンダリングエンジン(レイトレ―ス法)
    1. レイトレワールドの構築(TLASのBVH)
    TLSAのBVHはインスタンスの集合によって構築されています。
    Leaf Leaf Leaf Leaf
    Node Node
    Root Node

    View Slide

  43. シンプルなレンダリングエンジン(レイトレ―ス法)
    1. レイトレワールドの構築
    下記のURLはDXRの機能を使ってBLASとTLASを構築している自作エンジンのコードで
    す。
    ● https://github.com/KawaharaKiyohara/k2Engine/blob/master/GameTempla
    te/k2EngineLow/graphics/raytracing/BLASBuffer.cpp
    ● https://github.com/KawaharaKiyohara/k2Engine/blob/master/GameTempla
    te/k2EngineLow/graphics/raytracing/TLASBuffer.cpp

    View Slide

  44. シンプルなレンダリングエンジン(レイトレ―ス法)
    2. カメラからスクリーンのピクセルに向かってレイを飛ばす(ディスパッチ)
    レイトレワールドの構築ができたら、レイを飛
    ばす命令のディスパッチコードを実行します。
    ディスパッチコールを実行されることで、レイ
    トレのGPUパイプラインが実行されます

    View Slide

  45. シンプルなレンダリングエンジン(レイトレ―ス法)
    2. カメラからスクリーンのピクセルに向かってレイを飛ばす(レイジェネレーショ
    ンシェーダー)
    CPU側からレイのディスパッチコールが実行さ
    れるとレイトレのGPUパイプラインが動き出し
    ます。レイトレのGPUパイプラインの最初の仕
    事 はレイを 生 成 するレイジェネレーション
    シェーダーの実行です。
    レイジェネレーションシェーダーはディスパッ
    チされたレイの本数分実行されます。

    View Slide

  46. シンプルなレンダリングエンジン(レイトレ―ス法)
    3. 飛ばしたレイとレイトレワールドとの衝突判定
    TraceRay()を呼び出すことでハードウェア的に実行される。プログラミングはできません。
    衝突判定はTLAS、BLASを利用して行われます。
    レイとポリゴンの衝突の有無でGPUパイプラインは分岐します。

    View Slide

  47. シンプルなレンダリングエンジン(レイトレ―ス法)
    4. 衝突した場合は計算したサーフェースのカラーをピクセルのカラーとして表示
    衝突した場合は、closesthitシェーダー(最も近いヒットシェーダー)が呼ばれるので、そこで衝突情報からテ
    クスチャカラーをサンプリングして、ピクセルカラーとして出力している。

    View Slide

  48. シンプルなレンダリングエンジン(レイトレ―ス法)
    5. 衝突しなかった場合はピクセルカラーを黒とする
    レイとポリゴンが衝突した場合は、missシェーダーが呼ばれるので、そこでピクセルカラーを黒として実行し
    ている。

    View Slide

  49. GPUパイプライン(レイトレ―ス法)
    Chapter : 06

    View Slide

  50. GPUパイプライン(レイトレ―ス法)
    ラスタライザ法のGPUパイプラインとの違い
    Chapter05で見たように、レイトレース法のGPUパイプラインはラスタライザ法のパイプラインと仕事が全く
    異なります。レイトレース法のパイプラインの仕事は下記のようになります。
    1. Ray Generation Shader
    2. Traversal(交差判定処理)
    3. Closest Hit Shader
    4. Any Hit Shader
    5. Intersection Shader
    6. Miss Shader
    Hit Group

    View Slide

  51. GPUパイプライン(レイトレ―ス法)
    ラスタライザ法のGPUパイプラインとの違い
    レイトレース法のGPUパイプラインは処理の分岐も発生するため、ラスタライザ法と比べると、フローも複雑
    になります。
    Ray Generation
    Shader
    Traversal
    Miss Shader
    Closest Hit
    Shader
    TraceRay()
    TraceRay()
    不透明
    オブジェクト?
    No
    Any Hit
    Shader
    Yes
    三角形ポリゴン?
    No
    Intersection
    Shader
    組み込みの交
    差判定
    Yes

    View Slide

  52. GPUパイプライン(レイトレ―ス法)
    先ほどのGPUパイプラインを見ると分かりますが、頂点シェーダーに該当する頂点処理のステージがレイトレ
    のパイプラインには存在していません。正確には、インスタンスに設定されているワールド行列を使って、ハー
    ドウェアが頂点をワールド空間に変換してくれていますが、ラスタライザ法の頂点シェーダーでやっているよう
    なスキニングを行うことはできません。そこで今回はコンピュートシェーダーを利用してアニメーション済みの
    頂点バッファを計算してから、ディスパッチするという方法で実装しました。
    アニメーションはどうするの?

    View Slide

  53. ハイブリッドレンダリングエンジン
    Chapter : 07

    View Slide

  54. ハイブリッドレンダリングエンジン
    レイトレ vs ラスタライザ
    完全なレイトレ―サーのレンダリングエンジンを作ることもできる
    ⇒しかしラスタライザに比べると重い
    ⇒しかもラスタライザで十分な品質を確保 or ラスタライザの方が得意な部分も多い
    ⇒ラスタライザが苦手な部分を補う使い方はどうか?
    ⇒『より速ければラスター、そうでなければレイを使って驚かせ』[14]
    ⇒レイトレとラスタライザのハイブリッドレンダリングエンジン

    View Slide

  55. ハイブリッドレンダリングエンジン
    レイトレが得意なもの
    ● 鏡像反射
    ● 屈折
    ● ハードシャドウ
    実装したのはこれ

    View Slide

  56. ハイブリッドレンダリングエンジン
    鏡像反射
    ラスタライザベースでの鏡 像 反 射は下 記のような手 法があ
    り、これらを組み合わせて鏡像を表現していますが、まだま
    だ完全な表現ができていません。
    ● SSR
    ● Plane Reflection
    ● Reflection Probe
    レイトレであれば鏡像反射はとても簡単にクオリティの高い
    表現を行うことができます。

    View Slide

  57. ハイブリッドレンダリングエンジン
    最終的に出来上がったレンダリングエンジンのフロー(2022/9/9時点)
    Computed
    Animated
    Vertex
    ZPrepass
    Render To
    ShadowMap
    Light Culling
    Render
    G-Buffer
    Render
    ReflectionMap
    (Raytrace)
    Deferred
    Lighting
    Forward
    Rendring
    Post Effect Render 2D

    View Slide

  58. 参考文献
    ● [1] [GDC 2018]ついにDirectXがレイトレーシングパイプラインを統合。「DirectX Raytracing」が
    立ち上がる
    ● [2] NVIDIA RTX 技術がリアルタイムのシネマティック レンダリングの夢を実現
    ● [3] ゲーム表現の革新「DirectX Raytracing」が「October 2018 Update」で正式サポート - 窓の杜
    ● [4] AMD、リアルタイムレイトレーシング対応「Radeon RX 6000」シリーズ発表 「Big Navi」搭載、
    579ドルから - ITmedia NEWS
    ● [5]  PS5の基本スペックが公開。CPUはZen2(8コア16スレッド)3.5GHz(可変)、GPUは10.28
    TFLOPs, 36 CUs at 2.23GHzに | ゲーム・エンタメ最新情報のファミ通.com
    ● [6] Xbox Series X: A Closer Look at the Technology Powering the Next Generation
    ● [7] Metal for Accelerating Ray Tracing | Apple Developer Documentation

    View Slide

  59. ● [8] グラフィックスAPI「Vulkan」がリアルタイムレイトレーシングに対応。Windowsだけでなく,
    【MacやLinuxでも利用可能に
    ● [9] Arm、スマホ向け新型GPU「Immortalis」――ハードウェアレイトレーシングに対応 - ケータイ
    Watch
    ● [10] ネイティブ超えの新DLSSを追加――NVIDIAが「GeForce Experience」をアップデート Radeonで
    も使える超解像技術も公開(2/2 ページ) - ITmedia PC USER
    ● [11] 西川善司の3DGE:AMDの超解像技術「FidelityFX Super Resolution」は,DLSSのライバルとな
    り得るのか
    ● [12] MetalFX Upscaling will bring DLSS-like image reconstruction to games on MacOS | Ars
    Technica
    ● [13] DX12 Raytracing tutorial - Part 1 | NVIDIA Developer
    参考文献

    View Slide

  60. ● [14] Pocol(2021年)『Direct3D12 ゲームグラフィックス実践ガイド』技術評論社.
    ● [15] 清原 隆行(2021年)『HLSLシェーダーの魔導書』翔泳社.
    ● [16] Tomas Akenine-Moller、Eric Haines、Naty Hoffman『リアルタイムレンダリング 第4版』ボー
    ンデジタル.
    参考文献

    View Slide