Vulkan Mastery Vol.1
- 電子版(PDF)1,500 JPY
- 物理本+電子版1,500 JPY
この本では Vulkan の基本的なところを説明するところから始めます。 簡単なモデル描画やコンピュートシェーダーによる画像フィルタなど、入門編として丁度よい感じの構成となっています。 たとえば頂点シェーダー、フラグメントシェーダー、テッセレーションを含んでおり、グラフィックスパイプラインの定番的な内容や、コンピュートシェーダーの簡単な使い方まで習得できます。 Vulkan Mastery シリーズはこの先続刊予定です。徐々に深さや幅を広げる内容に発展させていく所存です。
特徴
🔆この本では、Vulkan 1.3 バージョンを対象としています 一応、Vulkan 1.2相当でVkRenderPassを使う方式の補足説明はしていますが、補足程度です。そろそろ古い情報は捨てて、新しいイマドキの環境で解説しています。 🔆WindowsとLinux、Android を対象としてサンプルプログラム対応 日本語の書籍でここまで揃っているのはとても珍しい部類です。できる限り動くよう配慮しているので参考になることでしょう なおLinuxは Wayland ベースです! 🔆モデル描画は Assimp を使用し、glTF モデルを使います VRMキャラクターモデルも事実上GLBとして読み込めるので、ご自身のVRMのキャラクターを自分のプログラム上で表示する手がかりにもなるでしょう
目次
A5 サイズの全160ページです。 第1章 Vulkan 概要 1.1 特徴 1.2 OpenGLとの違い 1.3 CPU と GPU 第2章 開発環境の設定 2.1 Vulkan SDK 2.2 依存ライブラリについて 2.3 アプリケーションの構造 第3章 初期化と終了処理 3.1 初期化手順の全体像 3.2 インスタンスの初期化 3.3 物理デバイスの選択 3.4 デバイスの初期化 3.5 デバッグ機能の有効化 3.6 終了処理 第4章 パイプラインとリソース 4.1 パイプライン 4.2 バッファリソースとイメージリソース 4.3 ディスクリプタセット 4.4 パイプラインオブジェクト 第5章 シェーダーの基本 5.1 シェーダーの種類 5.2 シェーダーのコンパイル 5.3 GLSL 入門 5.4 リソースのレイアウト、ディスクリプタセット 第6章 サーフェースとスワップチェイン 6.1 WSI: Window System Integration 6.2 スワップチェインとは 6.3 スワップチェインの作成 第7章 コマンドバッファと同期プリミティブ 7.1 コマンドプールの作成 7.2 コマンドバッファの作成 7.3 コマンドバッファとコマンドプールの後始末 7.4 Vulkan の同期プリミティブ 第8章 最初のポリゴン描画 8.1 描画ループの構成 8.2 頂点バッファの準備 8.3 シェーダーの準備 8.4 描画パイプラインの構築 8.5 描画処理 8.6 VkRenderPass を使う場合 第9章 Dear ImGui を使う 9.1 初期化 9.2 Dear ImGui の実行 9.3 UI の作り方 9.4 終了処理 第10章 パイプラインバリア 10.1 パイプラインバリアとは 10.2 レイアウト変更の話 10.3 実行バリアの話 10.4 メモリバリアの話 10.5 パイプラインバリアの実行 第11章 テクスチャ 11.1 テクスチャの基本 11.2 画像の読み込み 11.3 ステージングバッファを使用した転送 11.4 サンプラーとディスクリプタ 第12章 3D モデルを描画 12.1 assimp によるモデルデータの読み込み 12.2 デプスバッファの作成 12.3 ユニフォームバッファの作成 12.4 描画パイプラインの構築 12.5 描画用モデルデータの構築 12.6 描画処理 第13章 テッセレーション 13.1 テッセレーションの概要 13.2 テッセレーション用のシェーダー 13.3 描画パイプラインの構築と描画処理 第 14 章 コンピュートシェーダー 14.1 コンピュートシェーダーの基本 14.2 コンピュートシェーダーのスレッド 14.3 コンピュートパイプライン 14.4 コンピュートシェーダーの書き方 14.5 コンピュートシェーダーの起動 14.6 画像フィルタの実装 第15章 デバッグツール紹介 15.1 RenderDoc 15.2 NVIDIA Nsight Graphics 15.3 Validation Layer
旧作情報
過去作として 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 ⚙️ Vulkan Programming Vol.4 Vulkanを使って近代的な描画をするための基本を説明しています。ディファードレンダリングや、GPUパーティクルなど取り扱っています 👉 詳しくはこちら。 https://slash-labo.booth.pm/items/4138122
紙冊子について
イベント優先としている点、ご容赦ください。 イベント後の余裕を見てそのときに在庫ありとしています。 遠方の方など、紙冊子入り用の方は「入荷お知らせメール」で通知を得られるようにしておいてもらえるとタイミングを知ることができます。 人力に限りがありますので、やや発送に時間が掛かる場面があるかもしれません。よろしくお願い致します。