「DirectX Raytracing」の版間の差分
編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (2人の利用者による、間の9版が非表示) | |||
| 1行目: | 1行目: | ||
DirectX | '''DirectX Raytracing'''(読み:だいれくとえっくす・れいとれーしんぐ、通称:DXR)とは、[[GeForce RTX]]などのDXR対応[[GPU]]でリアルタイムな[[レイトレーシング]]できるというものである。 | ||
[[DirectX]] | == 概要 == | ||
[[DirectX]]の新バージョンではなく「[[DirectX 12]]の拡張(マイナーアップデート)」としてリリースされた。一般配布は2018年10月10日に[[Windows 10]]のアップデートとして行われた。 | |||
DXRではDirectX 12に以下の3つの要素が追加された。 | DXRではDirectX 12に以下の3つの要素が追加された。 | ||
* 「acceleration structure」= シーンの中で使われているオブジェクトであることを[[GPU]]に明示するためのもの | * 「acceleration structure」= シーンの中で使われているオブジェクトであることを[[GPU]]に明示するためのもの | ||
* | * コマンドリスト用メソッドに[[レイ]]を飛ばす「DispatchRaysメソッド」が追加 | ||
* [[HLSL]]をレイトレーシング向けに拡張 | * [[HLSL]]をレイトレーシング向けに拡張 | ||
* [[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]]」が登場するまではダンマリを決め込むものと思われる。 | |||
== 資料 == | == 資料 == | ||
| 14行目: | 31行目: | ||
== 関連項目 == | == 関連項目 == | ||
* [[DirectX 12]] | |||
* [[レイトレーシング]] | * [[レイトレーシング]] | ||
* [[スクリーンスペースリフレクション]] | * [[スクリーンスペースリフレクション]] | ||
| 20行目: | 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]] | |||
[[category: 2018年]] | |||