技術書典 9にて、新刊「UnrealEngine4 Introduction to RHI」を頒布します。
UnrealEngine4にてC++でグラフィックスを扱う場合に必ず登場するRHI(Render Hardware Interface)の初歩を解説した本です。
RHIはグラフィックス関連を調べる登場するキーワードですが、その資料はほぼ皆無です。ググってもあまり引っかからない、UE4のソースコードを読んでもよく分からない。そんな経験をした人は多いのではないでしょうか。私もそうでした。
そして、とあるプラグインを開発を境にいろいろ分かり、自分なりに知見が溜まってきました。その知見を書籍としてまとめたのが本書となります。RHIって何やねん、という話から、RHIを使って何かを描画するために必要な情報が記載されてます。RHIについてどこから手を出したらわからない人は、ぜひ。
目次
まえがき 第1章 RHIの基礎 1.1 RHI とは? 1.2 RHI の利⽤箇所 1.3 メリットとデメリット 第 2 章 RHI の基本 2.1 基本的なコードの構成 2.2 ENQUEUE_RENDER_COMMAND マクロ 2.3 RHI コマンド 2.4 RHI コマンドの調べ⽅ 2.5 開発設定 第 3 章 RHI での描画 3.1 概要 3.2 初期化 3.3 毎フレームの処理 3.4 頂点データの定義〜メモリ転送 3.5 頂点インデックスのメモリ転送 3.6 各種パラメーターの設定 3.7 描画 第 4 章 シェーダー 4.1 概要 4.2 シェーダ⾔語はHLSL 4.3 シェーダーを格納するフォルダ 4.4 シェーダーをC++から呼びだす 第 5 章 パラメータ 5.1 概要 5.2 既存パラメータを読み取る 5.3 ブレンドステート 5.4 利⽤するシェーダーを指定 5.5 その他のパラメーター 5.6 パラメーターを RHI へ設定する 付録 A Live2D Cubism Plugin for UE4 A.1 Live2D Cubism Plugin for UE4 とは A.2 できること A.3 プラグイン開発 TIPS 付録 B シェーダー⾔語の変換 B.1 ⽂法が微妙に異なるシェーダー⾔語 B.2 UE4 でのシェーダー⾔語の扱い B.3 HLSLCC を使ってみる 付録 C GPU 判別 C.1 GPU 依存がありがちな環境 C.2 Windows の場合 C.3 Android(OpenGL|ES) の場合 付録 D 参考資料 あとがき