技術書同人誌博覧会
Vulkan Programming Vol.2
同人誌・117ページ・20部頒布・紙/電子・1,000円
チェックする

Vulkan プログラミングの第2弾です。
前回が初期化からポリゴン描画までがメインだったので、今回は「Vulkan API を使って、MMDのキャラクター(PMD形式)を描画して踊らせる」までを解説します。

キャラクターの描画以外にも、

・テクスチャレンダリングとポストエフェクト
・HDR10出力
・インスタンシング
・セカンダリコマンドバッファ
・リソースステートとパイプラインバリアの説明

といった現時点ではあまり見かけない情報を多めに入れて説明しています。
今回もグラフィックスプログラミングに重要なポイントが多めですので、興味のある方に手にとってもらえれば幸いです。

目次

第1章 はじめに
 1.1 対象読者
 1.2 動作環境
 1.3 サンプルコード
第2章 セットアップ
 2.1 Vulkan SDK の準備
 2.2 依存ライブラリについて
 2.3 サンプルフレームワーク
 2.4 まとめ
第3章 HDR10 ディスプレイへの表⽰
 3.1 HDR 出⼒要件
 3.2 HDR の出⼒が対応しているかを確認
 3.3 float バッファで出⼒する
 3.4 メタデータの設定
 3.5 描画結果
 3.6 まとめ
第4章 可変ウィンドウとフルスクリーン
 4.1 ウィンドウのリサイズ対応
 4.2 ディスプレイサイズでフルスクリーン化
 4.3 起動時にフルスクリーンにする
 4.4 描画コマンドの可変サイズ対応
 4.5 まとめ
第5章 ImGui を組み込む
 5.1 ImGui の準備
 5.2 ImGui を組み込む
 5.3 ウィジェットの追加
 5.4 まとめ
第6章 インスタンシング描画
 6.1 頂点ストリームを使う
 6.2 ユニフォームバッファを使う
 6.3 まとめ
第7章 テクスチャレンダリング
 7.1 描画可能なテクスチャリソースの⽣成
 7.2 ディスクリプタの準備
 7.3 テクスチャに描画する
 7.4 パイプラインバリアの設定
 7.5 テクスチャを使う
 7.6 描画サンプル
 7.7 まとめ
第8章 ポストエフェクト
 8.1 全画⾯ポリゴン
 8.2 モザイクシェーダー
 8.3 ⽔⾯⾵エフェクト
 8.4 まとめ
第9章 Resource State とPipeline Barrier
 9.1 リソースのステート追跡
 9.2 パイプラインステージのバリア
 9.3 メモリアクセスのバリア設定
 9.4 まとめ
第10章 セカンダリコマンドバッファ
 10.1 セカンダリコマンドバッファとは
 10.2 セカンダリコマンドバッファの準備
 10.3 セカンダリコマンドバッファを⽤いた描画
 10.4 まとめ
第11章 キャラクターモデルを描画する
 11.1 スキニングについての説明
 11.2 PMD ファイルの説明
 11.3 PMD 形式の読み込みと描画データの構築
 11.4 ディスクリプタセットレイアウトの設計
 11.5 描画パスの実装
 11.6 スキニングの計算
 11.7 輪郭線の描画
 11.8 シャドウマップ
 11.9 表情モーフの実装
 11.10 描画本体の実装
 11.11 まとめ
第12章 VMD アニメーション再⽣
 12.1 VMD ファイルの説明
 12.2 CCD-IK
 12.3 キーフレームアニメーションの実装
 12.4 CCD-IK の実装と描画
 12.5 膝の曲げをより良く
 12.6 まとめ
第13章 マルチサンプルアンチエイリアス
 13.1 MSAA テクスチャを作成
 13.2 描画処理の実装
 13.3 VkRenderPass での設定⽅法
 13.4 まとめ

電子版を購入
ホーム
サークル
頒布物
マイページ