やっていくVulkan入門

  1. はじめに?
    1. Vulkanの立ち位置とか
    2. 参考資料とか
    3. Vulkan SDKのインストール
    4. 開発環境の構築(CMake/vcpkg)
  2. GPUにコマンドを送る
    1. インスタンスと物理デバイス
    2. 論理デバイス
    3. キュー
    4. コマンドバッファ
  3. 三角形を描画する(ただしウィンドウには出ない)
    1. イメージの作成
    2. メモリの割り当て
    3. レンダーパス
    4. パイプライン
    5. シェーダ
    6. イメージとイメージビュー
    7. フレームバッファ
    8. 描画
    9. (ex)ファイルに書き出してみる
  4. 画面に三角形を表示する
    1. 画面とサーフェイス
    2. スワップチェーン
    3. スワップチェーンとレンダリング(準備編)
    4. スワップチェーンとレンダリング(描画編)
    5. キューとプレゼンテーション
    6. (ex)処理の非同期化
    7. (ex)スワップチェーンの再作成
  5. シェーダにデータを与える
    1. 頂点データの用意
    2. バッファの作成
    3. バッファのへのデータ書き込み
    4. 頂点入力デスクリプション
    5. バッファのバインド
    6. 頂点シェーダに複数のデータを渡す
    7. 頂点シェーダからフラグメントシェーダにデータを渡す
    8. インデックスバッファ
    9. ステージングバッファ
    10. デスクリプタ(データの準備)
    11. デスクリプタ(作成・バインド)
    12. デスクリプタ(データの更新)
    13. プッシュ定数
    14. (ex)実用的な3DCGの知識(MVP行列)
    15. (ex)実用的な3DCGの知識(簡単なシェーディング)
  6. テクスチャを使う
    1. 画像データを読み込む
    2. イメージの作成
    3. サンプラー
    4. 画像・サンプラーデスクリプタ
    5. シェーダからテクスチャにアクセスする
  7. 深度バッファによる描画
    1. 深度バッファの作成
    2. レンダーパスとフレームバッファの設定
    3. パイプラインの設定
  8. 3Dモデルの描画
    1. モデルデータの読み込み
    2. モデルの表示
    3. スキン変形
  9. コンピュートシェーダ