※ ダウンロードカードを持っていきます。
マルチプラットフォームで使える Vulkan のプログラミング入門本です。
Vulkan は低レイヤーのグラフィックス API です。Vulkan は発表されてからそれなりに時間が経過しましたが、書籍としてまとまっているものはまだ数が少ないかと思います。
Vulkan はバージョンアップが激しく、既に 1.1.xxx となっている状態ですが、この本では、"Vulkan 1.1" をターゲットとしています。
Vol.1 となっている今回は Vulkan の初期化から簡単な描画までをじっくりと解説しました。
低レイヤー相当のグラフィックスAPI となっている Vulkan をこれから始めてみようと思っている人や興味を持っている人に見てもらえたら嬉しく思います。
第1章 はじめに
Vulkan の紹介
対象読者
動作環境
サンプルコード
日本語のVulkan の書籍
第2章 Vulkan 概要
登場の背景
低レイヤー API
CPUとGPU
まとめ
第3章 セットアップ
Vulkan SDK
依存ライブラリについて
基本のコード
まとめ
第4章 初期化
オーバービュー
デバイスの作成
メモリ割り当て
スワップチェインの生成
デプスバッファの準備
VkImageView の作成
RenderPass の作成
フレームバッファの作成
まとめ
第5章 画面をクリアする
デバッグのための設定
描画コマンド
同期プリミティブ
クリアのためのコマンド
コマンドの送信
Present処理
画面クリアのコード例
スワップチェイン同期の解説
まとめ
第6章 リソース
Vulkanにおいてのリソース
頂点・インデックス・ユニフォームバッファ
イメージリソース
まとめ
第7章 Descriptor と PipelineLayout
ディスクリプタとディスクリプタプール
DescriptorSetLayout
ディスクリプタの割り当てと更新
パイプラインレイアウト
まとめ
第8章 シェーダーの基礎
シェーダーの種類
コンパイル
GLSL文法入門
シェーダーとディスクリプタセット
まとめ
第9章 レンダリングパイプライン
論理的なパイプライン
VkPipelineオブジェクト
シェーダーのセット
頂点データ情報のセット
プリミティブトポロジーの設定
ビューポートの設定
ラスタライザの設定
マルチサンプリングの設定
デプス&ステンシルの設定
ブレンド設定
データの依存関係について
まとめ
第10章 シンプルな三角形の描画
頂点バッファ・インデックスバッファの準備
シェーダーの準備
パイプラインの構築
描画コマンドの発行
まとめ
第11章 テクスチャの作成
オーバービュー
画像の読み込み
VkImageの準備
ステージングバッファ
ステージングバッファからイメージへ
VkImageViewの作成
サンプラーの作成
まとめ
第12章 テクスチャ付きキューブを描画
頂点バッファインデックスバッファの準備
ユニフォームバッファの準備
シェーダーの準備
テクスチャの準備
ディスクリプタセットの準備
描画コマンドの発行
ディスクリプタセット関連の説明
まとめ
第13章 3Dモデルを描画
モデル形式
モデルデータの読み込み
描画の実装
まとめ
第14章 デバッグ
RenderDoc
NVIDIA Nsighit Graphics
その他