「DirectX Raytracing」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
 
(2人の利用者による、間の6版が非表示)
9行目: 9行目:
 
* [[HLSL]]をレイトレーシング向けに拡張
 
* [[HLSL]]をレイトレーシング向けに拡張
 
* [[Pipeline State Object]]にレイトレーシング向けバージョンが追加
 
* [[Pipeline State Object]]にレイトレーシング向けバージョンが追加
 +
 +
== シェーダーの書き方 ==
 +
[[シェーダー]]の書き方はVBやC#などで一般的な「[[イベント駆動型]]」に近い記述方法となっている。「何かに反射したとき」などのあらかじめ用意されている各種イベントに対してそれぞれシェーダーを設定しておき、「レイトレーシング開始しろ」という[[API]]を呼べばあとは全自動でやってくれるという代物である。つまりレイトレーシングに精通していなくてもそこそこ使えてしまう。
 +
 +
== OpenGLやVulkanなどの動向 ==
 +
=== OpenGL ===
 +
[[OpenGL]]にDirectX Raytracing相当の機能を搭載するかは未定である。
 +
たぶんVulkanと競合して足の引っ張り合いにならないよう、実装されないと思われる。
 +
 +
=== Vulkan ===
 +
[[Vulkan]]の開発元である[[LunarG]]はDirectX Raytracing相当の機能「Vulkan Ray Tracing」を実装すると発表した。2020年から暫定版を含んだ[[SDK]]が配布されている。
 +
* https://pc.watch.impress.co.jp/docs/news/1241762.html
 +
 +
=== Metal ===
 +
[[Metal]]に関してはいまのところ不明である。
 +
[[アップル]]は[[AMD]]の[[dGPU]]と[[Intel]]の[[iGPU]]しか採用しないので「[[Radeon RX Navi 2X]]」が登場するまではダンマリを決め込むものと思われる。
  
 
== 資料 ==
 
== 資料 ==
22行目: 38行目:
 
* Microsoftの開発者のブログ https://blogs.msdn.microsoft.com/directx/2018/03/19/announcing-microsoft-directx-raytracing/
 
* Microsoftの開発者のブログ https://blogs.msdn.microsoft.com/directx/2018/03/19/announcing-microsoft-directx-raytracing/
 
* NVIDIAの開発者のブログ https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/
 
* NVIDIAの開発者のブログ https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/
 +
 +
[[category: DirectX]]

2023年10月26日 (木) 05:20時点における最新版

DirectX Raytracing(読み:だいれくとえっくす・れいとれーしんぐ、通称:DXR)とは、GeForce RTXなどのDXR対応GPUでリアルタイムなレイトレーシングできるというものである。

概要[編集 | ソースを編集]

DirectXの新バージョンではなく「DirectX 12の拡張(マイナーアップデート)」としてリリースされた。一般配布は2018年10月10日にWindows 10のアップデートとして行われた。

DXRではDirectX 12に以下の3つの要素が追加された。

  • 「acceleration structure」= シーンの中で使われているオブジェクトであることをGPUに明示するためのもの
  • コマンドリスト用メソッドにレイを飛ばす「DispatchRaysメソッド」が追加
  • HLSLをレイトレーシング向けに拡張
  • Pipeline State Objectにレイトレーシング向けバージョンが追加

シェーダーの書き方[編集 | ソースを編集]

シェーダーの書き方はVBやC#などで一般的な「イベント駆動型」に近い記述方法となっている。「何かに反射したとき」などのあらかじめ用意されている各種イベントに対してそれぞれシェーダーを設定しておき、「レイトレーシング開始しろ」というAPIを呼べばあとは全自動でやってくれるという代物である。つまりレイトレーシングに精通していなくてもそこそこ使えてしまう。

OpenGLやVulkanなどの動向[編集 | ソースを編集]

OpenGL[編集 | ソースを編集]

OpenGLにDirectX Raytracing相当の機能を搭載するかは未定である。 たぶんVulkanと競合して足の引っ張り合いにならないよう、実装されないと思われる。

Vulkan [編集 | ソースを編集]

Vulkanの開発元であるLunarGはDirectX Raytracing相当の機能「Vulkan Ray Tracing」を実装すると発表した。2020年から暫定版を含んだSDKが配布されている。

Metal[編集 | ソースを編集]

Metalに関してはいまのところ不明である。 アップルAMDdGPUInteliGPUしか採用しないので「Radeon RX Navi 2X」が登場するまではダンマリを決め込むものと思われる。

資料[編集 | ソースを編集]

githubソースコードが公開されている。いわゆる「ソース読め」でありその他の資料は見当たらない。まじかよ。

関連項目[編集 | ソースを編集]

外部リンク[編集 | ソースを編集]