版元ドットコム

探せる、使える、本の情報

文芸 新書 社会一般 資格・試験 ビジネス スポーツ・健康 趣味・実用 ゲーム 芸能・タレント テレビ・映画化 芸術 哲学・宗教 歴史・地理 社会科学 教育 自然科学 医学 工業・工学 コンピュータ 語学・辞事典 学参 児童図書 ヤングアダルト 全集 文庫 コミック文庫 コミックス(欠番扱) コミックス(雑誌扱) コミックス(書籍) コミックス(廉価版) ムック 雑誌 増刊 別冊 ラノベ
Direct3D12 ゲームグラフィックス実践ガイド Pocol(著/文) - 技術評論社
..

書店員向け情報

書店注文情報

受注センター:
注文電話番号:
注文FAX番号:
販売促進部:
注文電話番号:
注文FAX番号:
注文サイト:
9784297123659

Direct3D12 ゲームグラフィックス実践ガイド

コンピュータ
このエントリーをはてなブックマークに追加
発行:技術評論社
B5判
464ページ
定価 3,980円+税
ISBN
978-4-297-12365-9   COPY
ISBN 13
9784297123659   COPY
ISBN 10h
4-297-12365-7   COPY
ISBN 10
4297123657   COPY
出版者記号
297   COPY
Cコード
C3055
専門 単行本 電子通信
出版社在庫情報
不明
書店発売日
登録日
2021年8月6日
最終更新日
2021年10月4日
このエントリーをはてなブックマークに追加

紹介

Direct3D 12を用いてグラフィックスプログラミングの理論と実装を丁寧に解説し、入門書レベルを卒業し脱初心者を目指している読者に有益な情報を提供する書籍です。
ゲームエンジンを利用していても、それを支えるグラフィックスAPI関連の知識を学ぶことはより理想に近い開発を行う上で重要な意味を持ちます。本書ではプログラム上の処理に留まらず理論の復習や導出を丁寧に解説することで、技術やシステムの進化に依らない真の実力を身に付けることができるようになります。

目次

Chapter1 プログラミングを始める前に
1.1 コンピュータグラフィックスとテクノロジーの発展
1.2 Direct3D概論
1.3 画面にポリゴンが表示されるまでの工程
 1.3.1 大まかな流れ
 1.3.2 描画コマンドの作成
 1.3.3 レンダリングパイプライン
 1.3.4 コンピュートパイプライン
1.4 Direct3D 12はどこが変わった?
 1.4.1 コマンドリストとコマンドキュー
 1.4.2 パイプラインステート
 1.4.3 ディスクリプタ
 1.4.4 ルートシグニチャ
 1.4.5 バンドル
 1.4.6 インダイレクトコマンド
 1.4.7 シェーダモデル 6.0
 1.4.8 レイトレーシングパイプライン
 1.4.9 可変レートシェーディング
 1.4.10 メッシュシェーダパイプライン
 1.4.11 サンプラーフィードバック
1.5 開発環境の構築
 1.5.1 開発環境について
 1.5.2 Visual Studioのインストール
 1.5.3 グラフィックスツールの設定

Chapter2 ウィンドウの表示
2.1 プロジェクトの作成
2.2 アプリケーションクラスの作成
 2.2.1 Appクラスの実装
 2.2.2 Appクラスの呼び出し
2.3 Direct3D 12の初期化処理
 2.3.1 デバイスの生成
 2.3.2 コマンドキューの生成
 2.3.3 スワップチェインの生成
 2.3.4 コマンドリストの生成
 2.3.5 レンダーターゲットビューの生成
 2.3.6 フェンスの生成
2.4 Direct3D 12の描画処理
 2.4.1 コマンドの記録開始
 2.4.2 書き込みのためのリソースバリア
 2.4.3 レンダーターゲットビューの設定
 2.4.4 表示のためのリソースバリア
 2.4.5 コマンドの記録終了とコマンドリストの実行
 2.4.6 表示処理
2.5 Direct3D 12の終了処理
2.6 リファクタリング
2.7 スマートポインタの使用
2.8 デバッグフラグの追加
2.9 メモリリークチェック

Chapter3 ポリゴンの表示
3.1 シェーダの準備
 3.1.1 シェーダファイルの作成
 3.1.2 頂点シェーダの実装
 3.1.3 ピクセルシェーダの実装
3.2 描画に必要なインタフェースの生成
3.3 頂点バッファの生成
 3.3.1 頂点データの準備
 3.3.2 リソースの生成
 3.3.3 頂点データの書き込み
 3.3.4 頂点バッファビューの設定
3.4 定数バッファの生成
 3.4.1 定数バッファデータの定義
 3.4.2 ディスクリプタヒープの生成
 3.4.3 リソースの生成
 3.4.4 定数バッファビューの生成
3.5 ルートシグニチャの生成
 3.5.1 ルートパラメータの種類
 3.5.2 ルートシグニチャの生成
3.6 グラフィックスパイプラインステー
 3.6.1 入力レイアウトの設定
 3.6.2 ラスタライザーステートの設定
 3.6.3 ブレンドステートの設定
 3.6.4 シェーダの設定
 3.6.5 パイプラインステートの生成
3.7 描画コマンドの生成
3.8 インデックスバッファ
 3.8.1 インデックスバッファの生成
 3.8.2 描画処理の変更
3.9 複数図形の描画
 3.9.1 Zバッファ法
 3.9.2 深度ステンシルビューの生成
 3.9.3 深度ステンシルステートの設定
 3.9.4 描画処理の変更

Chapter4 テクスチャの表示
4.1 テクスチャとは?
 4.1.1 画像形式
 4.1.2 テクスチャ座標
 4.1.3 テクスチャアドレッシングモード
 4.1.4 ミップマップ
 4.1.5 テクスチャフィルタリング
4.2 DirectXTKライブラリの利用
 4.2.1 DirectXTK12のインストール
 4.2.2 テクスチャデータの準備
4.3 テクスチャの描画
 4.3.1 シェーダの準備
 4.3.2 頂点バッファの変更
 4.3.3 ルートシグニチャの変更
 4.3.4 テクスチャの生成
 4.3.5 描画関数の変更

Chapter5 メッシュの表示
5.1 assimpライブラリを利用したモデルの描画
 5.1.1 assimpライブラリのインストール
 5.1.2 メッシュファイルの準備
 5.1.3 ファイルのロード処理
 5.1.4 メッシュデータの変換処理
 5.1.5 メッシュの描画
5.2 フレームワークの整備
 5.2.1 ディスクリプタプールクラス
 5.2.2 テクスチャクラス
 5.2.3 定数バッファクラス
 5.2.4 メッシュクラス
 5.2.5 マテリアルクラス

Chapter6 基本的なライティング
6.1 光と材質
6.2 Lambertモデル
6.3 Phongモデル
6.4 バンプマッピング
 6.4.1 法線マップとは?
 6.4.2 法線マップの計算方法
 6.4.3 接線空間への基底変換
 6.4.4 バンプマッピングの実装
 6.4.5 ワールド空間への基底変換

Chapter7 光の数値化
7.1 立体角
7.2 光
7.3 放射分析学
 7.3.1 放射エネルギー(radiant energy)
 7.3.2 放射束(radiant flux)
 7.3.3 放射照度(irradiance)
 7.3.4 放射発散度(radiant exitance)
 7.3.5 放射強度(radiant intensity)
 7.3.6 放射輝度(radiance)
7.4 測光学
 7.4.1 錐状体
 7.4.2 分光視感度(spectral luminous efficacy)
 7.4.3 光束(luminous flux)
 7.4.4 光度(luminous intensity)
 7.4.5 照度(illuminance)
 7.4.6 光束発散度(luminous exitance)
 7.4.7 輝度(luminance)
7.5 放射量と測光量の単位変換

Chapter8 光伝達のモデル化
8.1 光の伝達を表現するには?
8.2 どのぐらい光が出射される?
 8.2.1 双方向散乱面反射率分布関数
 8.2.2 双方向反射率分布関数
8.3 BRDFモデル
 8.3.1 Lambertモデル
 8.3.2 Phongモデル
8.4 オフスペキュラー
 8.4.1 フレネル反射
 8.4.2 シャドウイングとマスキング
8.5 マイクロファセットに基づくBRDF
 8.5.1 マイクロサーフェイス
 8.5.2 マイクロサーフェイスの射影
 8.5.3 マイクロファセットに基づくBRDFの導出
 8.5.4 シャドウイング・マスキング関数
 8.5.5 Cook-Torranceモデル
 8.5.6 GGXモデル

Chapter9 色を適切に扱う
9.1 色を表現する
 9.1.1 混色
 9.1.2 等色実験
 9.1.3 CIE 1931 RGB表色系
 9.1.4 CIE 1931 XYZ表色系
 9.1.5 xy色度図
9.2 ディスプレイへの出力
 9.2.1 ガンマ補正
 9.2.2 伝達関数
 9.2.3 色空間の変換
9.3 色の規格
 9.3.1 IEC 61966-2-1規格(sRGB規格)
 9.3.2 ITU-R BT.709勧告
 9.3.3 ITU-R BT.2100勧告
9.4 トーンマッピング
 9.4.1 Reinhardトーンマッピング
 9.4.2 HDRディスプレイとトーンマッピ
 9.4.3 Reinhardトーンマッピングの拡張
 9.4.4 GTトーンマップ
9.5 プログラムの実装
 9.5.1 HDRサポートのチェック
 9.5.2 HDR画像の準備
 9.5.3 レンダーターゲットのフォーマッ
 9.5.4 色域変換
 9.5.5 トーンマッピングの適用
 9.5.6 OETFの適用

Chapter10 ライトの種類と表現
10.1 光束と放射束の単位変換
10.2 パンクチュアルライト
 10.2.1 ポイントライト
 10.2.2 スポットライト
 10.2.3 光の減衰
 10.2.4 ディレクショナルライト
10.3 フォトメトリックライト
 10.3.1 配光測定のための座標系
 10.3.2 IESプロファイルの仕様
 10.3.3 IESプロファイルの変換
 10.3.4 IESプロファイルの適用
10.4 イメージベースドライト
 10.4.1 逆変換法
 10.4.2 モンテカルロ積分法
 10.4.3 ライトプローブのフィルタリング
 10.4.4 ライトプローブの評価

Chapter11 メッシュシェーダパイプライン
11.1 メッシュシェーダとは?
11.2 ポリゴンの描画
 11.2.1 メッシュシェーダの実装
 11.2.2 パイプラインステートの生成
 11.2.3 描画コマンドの発行
11.3 メッシュレットを用いた描画
 11.3.1 メッシュレットの生成
 11.3.2 シェーダの実装
 11.3.3 描画メソッドの修正

AppendixA デバッグの仕方
A1 基本的なデバッグ操作
 A1.1 ブレークポイント
 A1.2 データウォッチ
 A1.3 ステップ実行
 A1.4 特定の場所に移動する
 A1.5 コールスタック
 A1.6 メモリの表示
 A1.7 データブレーク
 A1.8 CRTデバッグライブラリ
 A1.9 並列スタック/並列ウォッチ
A2 Direct3D 12のデバッグ
 A2.1 デバッグレイヤーの有効化
 A2.2 GPUクラッシュの解析
A3 PIX for Windowsを用いたグラフィックスデバッグ
 A3.1 インストールとプログラムの起動方法
 A3.2 GPUキャプチャー方法
 A3.3 Pipelineビュー
 A3.4 頂点シェーダのデバッグ
 A3.5 ピクセルシェーダのデバッグ

AppendixB DirectX Agility SDKの使用
B1 Agility SDKの使用方法
B2 Agility SDKの動作について

著者プロフィール

Pocol  (ポコル)  (著/文

ゲームエンジン・ミドルウェアの研究・開発を行っているシニアソフトウェアエンジニア。勉強会主催のほか、個人ホームページ上でプログラムの実例を取り上げながら技術解説を行っている。

上記内容は本書刊行時のものです。