このチャプターの目次
この文章ではrust-gpuとashを使い、Vulkan Raytracing extension(以下VKR)を用いたレイトレーシングを行います。Vulkan Raytracing extensionを使うことによりCPUより高速にレイトレーシングを行うことができます。また、rust-gpuを使うことでGPUで動くコードも含めすべてRustで書いていきます。
対象の読者
この文章は、
- Rust
- Vulkan
- Vulkan TutorialのDrawing a Triangleまで
- レイトレーシング
- Ray Tracing in One Weekend — The Book SeriesのThe Next WeekのBounding Volume Hierarchiesまで
の知識がある方を対象としています。
想定としてはRay Tracing in One Weekend — The Book SeriesをやったけどGPUで動かしたくなった方がターゲットです。
VKR以外のVulkanの説明は複雑すぎてこの文章では扱えませんが触ったことのない方はVulkan TutorialのDrawing a Triangleまでやっておけばよいです。
構成
この文章は1, 2章でrust-gpuとashの外観をつかみ、残りの章でVKRの内容になっていき、Ray Tracing in One Weekendの最後のイメージと同じものをレンダリングすることを目標とします。
最終目標のイメージ。5000サンプルで約13.5秒かかった。
動作環境
本文章で使われているコードは
- OS: Windows 11
- GPU: RTX 2080ti ドライバ: 497.09 (他のGPUを持っていないので動作報告募集中)
- Vulkan SDK: 1.2.189.2
で動作を確認しました。
コントリビューション
この文章、およびサンプルコードはGitHub上で管理しています。何かある際はGitHubでPR等よろしくお願いします🙇♂️。