Vulkan Raytracing Programming Vol.1
- 物販商品(倉庫から発送)ネコポス可能紙冊子(電子版付)¥ 1,500
- ダウンロード商品電子版¥ 1,500
Vulkan の拡張機能として追加された Vulkan Raytracing API についてのプログラミング入門書籍です。 Vol.1 では、古典的レイトレーシングを対象として、 Vulkan Raytracing によるプログラミングの基礎を説明します。簡単なところから始め、変形可能なキャラクターモデルの描画までを解説します。 Vulkan Raytracing を使ったプログラミングを始めてみようと、興味を持っている方に読んでもらえたら嬉しく思います。 ※ 紙冊子版を購入の場合、お手元に届くまで BOOTH から電子版を取得して読むことも出来ます。
ポイント
・ Vulkan Raytracing を用いて簡単なモデルを描画するまでを、この1冊で入門できます。 ・ Vulkan Raytracing を用いて変形可能なキャラクターモデル(スキニングモデル)の実装・描画方法がわかります。 ・モデルには glTF フォーマットを使用しています。 ・ Callable シェーダー以外のシェーダーを一通り扱っています。
注意事項
・Vulkan Raytracing を使った開発や実行をするには対応したハードウェアが必要です。 ・Vulkan の基本的な説明は含まれていませんので、ある程度の基礎知識は必要です。 (姉妹品の Vulkan Programming シリーズをご検討下さい) ・本書の電子版は PDF 形式で提供されます。
目次
総ページ数 175p 第1章 はじめに 1.1 Vulkan Raytracing の簡単な紹介 1.2 対象読者 1.3 動作環境 1.4 サンプルコード 1.5 免責事項 1.6 禁止事項 第2章 Vulkan Raytracing 2.1 レイトレーシング法 2.2 Vulkan Raytracing の歴史 2.3 レイトレーシングのためのデータ構造 2.4 レイトレーシングパイプライン 2.5 シェーダー設定の新しい方法 2.6 まとめ 第3章 セットアップ 3.1 Vulkan SDK のセットアップ 3.2 依存ライブラリについて 3.3 まとめ 第4章 レイトレーシングシェーダーの関数 4.1 traceRayEXT 関数 4.2 reportIntersectionEXT 関数 4.3 terminateRayEXT 関数 4.4 ignoreIntersectionEXT 関数 4.5 executeCallableEXT 関数 4.6 システムビルトイン変数 4.7 まとめ 第5章 シェーダーのコンパイル 5.1 Vulkan Raytracing のシェーダー 5.2 オフラインコンパイル(glslangValidator) 5.3 オフラインコンパイル(glslc) 5.4 実行時コンパイル 5.5 まとめ 第6章 ここから始めるVulkan Raytracing 6.1 オーバービュー 6.2 Raytracing の初期化 6.3 BLAS の準備 6.4 TLAS の準備 6.5 出力バッファの生成 6.6 レイアウトの生成 6.7 シェーダーの準備 6.8 パイプラインの生成 6.9 Shader Binding Table の生成 6.10 レイトレーシングによる描画 6.11 まとめ 第7章 Vulkan Raytracing による3D シーン 7.1 3D ジオメトリの生成 7.2 Acceleration Structure の生成 7.3 レイアウトの生成 7.4 カメラ視点からのレイ生成 7.5 シェーダーで頂点属性を求める 7.6 パイプラインの生成 7.7 Shader Binding Table の構築 7.8 動的なユニフォームバッファ 7.9 Dear ImGui を組み込む 7.10 描画 7.11 まとめ 第8章 マテリアルを分けた描画 8.1 マテリアル毎の描画をわけるアイデア 8.2 マテリアルID を使う 8.3 テクスチャを使う 8.4 反射 8.5 屈折 8.6 本章のサンプルの実行結果 8.7 RADEON RX シリーズの場合 8.8 まとめ 第9章 影を追加する 9.1 シャドウレイを飛ばそう 9.2 点光源とソフトシャドウの手前 9.3 ソフトシャドウ(の手前) 9.4 RADEON RX シリーズの場合:シャドウ編 9.5 TLAS の動的更新 9.6 まとめ 第10章 Any Hit シェーダー 10.1 Any Hit シェーダーの役割 10.2 アルファ抜き(アルファテスト) 10.3 Any Hit シェーダーによるアルファ抜き実装 10.4 まとめ 第11章 Intersection シェーダー 11.1 Intersection シェーダーの役割 11.2 AABB ボックスおよび球体を書くための判定処理 11.3 Intersection シェーダーを使うための準備と設定 11.4 レイマーチングによるジオメトリの記述 11.5 本章のサンプルの実行結果 11.6 まとめ 第12章 シェーダーバインディングテーブル 12.1 各テーブルのアライメント 12.2 シェーダーレコードのアライメント 12.3 呼び出されるレコードの決定 12.4 まとめ 第13章 モデルを描画する 13.1 glTF 形式の読み込み 13.2 描画用インスタンスとBLAS の構築 13.3 描画用のシェーダー 13.4 シェーダーテーブルの構成 13.5 TLAS の構成と描画 13.6 まとめ 第14章 キャラクターモデルを描画する 14.1 オーバービュー 14.2 glTF からスキニング情報を読み込む 14.3 スキニングの変形処理を実装 14.4 描画処理 14.5 スキニング計算 14.6 まとめ 第15章 デバッグ・調査ツール 15.1 NVIDIA Nsight Graphics 15.2 Radeon GPU Profiler 15.3 まとめ
Vulkan Programming シリーズ
⚙️ Vulkan Programming Vol.1 Vulkan 概要から初期化、基本的な描画編です。 👉 詳しくはこちら。 https://slash-labo.booth.pm/items/1286100 ⚙️ Vulkan Programming Vol.2 テクスチャレンダリング解説と、MMD(PMD/VMD)描画&アニメーション編です。 Vol.1 でポリゴン描画を終えた方を対象としています。 👉 詳しくはこちら。 https://slash-labo.booth.pm/items/1572740 ⚙️ Vulkan Programming Vol.3 未解説だったシェーダーステージの解説編です。 テッセレーション・ジオメトリシェーダーとコンピュートシェーダーを取り扱っています。 👉 詳しくはこちら。 https://slash-labo.booth.pm/items/1851411