2024/05/25 から技術書典16が始まります。前回に続き、オフラインの開催もあり、こちらは 5/26 (日) に池袋のサンシャインシティ展示ホールD (文化会館ビル2F)にて行われます。
配置情報
新刊の紹介をする前に、配置情報をお知らせします。当サークルの新刊は以下の場所でゲットできます。入り口からは少し距離がありますが、こちらまで目指して頂ければと思います。
- さ09 techbito
サークルの新刊
当サークルでは、新刊は2種用意しています。グラフィックスAPI解説の老舗サークルとして、今回はグラフィックス特化な内容となっています。
- Vulkan MASTERY Vol.1
- Rust Graphics Fundamentals Vol.1
Vulkan APIについての入門書です。
Rust でグラフィックスプログラミングを始めたい、というあなたに向けて、定番ライブラリ(クレート)をたくさん紹介する本です。
(私の)新刊
Vulkan Mastery Vol.1 というタイトルで新刊を出します。これは、Vulkan の基本的なところを説明します。簡単なモデル描画やコンピュートシェーダーによる画像フィルタなど、入門編として丁度よい感じに仕上がっています。頂点シェーダー、フラグメントシェーダー、テッセレーションあたりも含めてあって、標準的な内容を理解することができます。
特徴
- この本では、Vulkan 1.3 バージョンを対象としています
- 一応、Vulkan 1.2相当でVkRenderPassを使う方式の補足説明はしていますが、補足程度です。そろそろ古い情報は捨てて、新しいイマドキの環境で解説をするというチャレンジをやってみました。
- WindowsとLinux、Android までサンプルプログラムの動作が確認できます
- 日本語の書籍でここまで揃ったのはは初!? かもしれません
- モデル描画は Assimp を使用し、glTF モデルを使います
- VRMキャラクターモデルも事実上GLBとして読み込めるので、ご自身のVRMのキャラクターを自分のプログラム上で表示する手がかりにもなるでしょう
冊子の表紙はこのような感じになっております。左側が表、右側が裏となっています。どちらから見ても表のように見えるシンプルな構成としてみました。
ページ見本
BOOTHへのリンク
BOOTHでも取り扱いを開始しました。紙冊子が入り用の方は、入荷待ちメールに登録しておいてもらえると、イベントのタイミングで増刷したときにお知らせが流れることがあります
Vulkan Mastery Vol.1 - techbito / 旧すらりんラボ - BOOTH
この本では Vulkan の基本的なところを説明するところから始めます。 簡単なモデル描画やコンピュートシェーダーによる画像フィルタなど、入門編として丁度よい感じの構成となっています。 たとえば頂点シェーダー、フラグメントシェーダー、テッセレーションを含んでおり、グラフィックスパイプラインの定番的な内容や、コンピュート...
目次
少し詳しい目次はこのようになっています。
- 第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
コメント