翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 法人のお客様へ 新規会員登録 ログイン
SEshop

DirectX 12の魔導書 3Dレンダリングの基礎からMMDモデルを踊らせるまで

川野 竜一(著)

商品番号
161930
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2020年02月13日
出荷開始日
2020年02月12日
ISBN
9784798161938
判型
B5変
ページ数
664
キーワード
プログラミング  ゲーム  C++  3D

5,060円(税込)(本体4,600円+税10%)
送料無料

460pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

電子書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

  • ポスト

複雑なライブラリも、
一歩ずつ進めれば怖くない。

「DirectX 9~11に比べて超高機能/高性能だと聞いたけれど、
 複雑すぎて何をしているかわからない」

「ゲームエンジンのメンテナンスをするために、
 最新のDirectXの基礎を知りたい」

「フルスクラッチでMMDのモデルを
 表示/アニメーションさせてみたい」

そんなC++プログラマーに向けた、
DirectX 12の「導きの書」がついに登場!

◆3Dグラフィックスの基礎
◆グラフィックスパイプラインとステージ
◆PMDデータの読み込みと描画
◆VMDデータの読み込みとアニメーション再生
◆IK
◆ポストエフェクト

など、本当に知りたかった
DirectX 12プログラミングの基本がこの1冊に!!

DirectXは初めてという人も、
DirectX 9や10で止まってしまっている人も、
本書を心強い相棒にして、挑戦の旅へと出掛けましょう!

■Part 1 基礎理論編

Chapter 1 前提となる知識とDirectX 12の概略
 1.1 本書で使用するC++
 1.2 本書で使用する数学
 1.3 初歩的なレンダリング理論
 1.4 ハードウェアの基礎知識
 1.5 DirectXの歴史と変化

Chapter 2 グラフィックスパイプラインとさまざまなシェーダー
 2.1 グラフィックスパイプラインとは
 2.2 シェーダーとは

■Part 2 実践編(1)

Chapter 3 初期化から画面クリアまで
 3.1 最初のプロジェクト
 3.2 ウィンドウ表示とDirect3Dの初期化
 3.3 画面色のクリア
 3.4 エラー対応

Chapter 4 ポリゴンの表示
 4.1 グラフィックスパイプラインのおさらい
 4.2 頂点情報の作成
 4.3 頂点バッファー
 4.4 頂点情報のコピー(マップ)
 4.5 はじめてのシェーダー
 4.6 シェーダーの読み込みと生成
 4.7 頂点レイアウト
 4.8 グラフィックスパイプラインステートの作成
 4.9 ルートシグネチャ
 4.10 ビューポートとシザー矩形
 4.11 三角形ポリゴンを四角形にしてみる

Chapter 5 ポリゴンにテクスチャを貼り付ける
 5.1 DirectX 12におけるテクスチャ
 5.2 頂点情報にuv情報を追加する
 5.3 シェーダーにuv情報を追加する
 5.4 テクスチャデータの作成
 5.5 テクスチャバッファー
 5.6 ID3D12Resource::WriteToSubresource()メソッドによるデータ転送
 5.7 シェーダーリソースビュー
 5.8 ルートシグネチャにスロットとテクスチャの関連を記述する
 5.9 描画時の設定
 5.10 ピクセルシェーダーのプログラムを変更
 5.11 画像ファイルを読み込んで表示する
 5.12 ID3D12GraphicsCommandList::CopyTextureRegion()メソッドによる転送
 5.13 d3dx12.h(CD3DX~)の導入

Chapter 6 行列による座標変換
 6.1 行列の基本
 6.2 定数バッファーとシェーダーからの利用
 6.3 行列を変更してみる(2D編)
 6.4 行列を用いて3D化してみる
 6.5 回転アニメーションさせてみよう

Chapter 7 PMDの読み込みとモデルの表示
 7.1 MMDのダウンロード
 7.2 PMDデータとは
 7.3 PMDにおける頂点データ
 7.4 PMDヘッダー構造体
 7.5 PMDの頂点構造体とレイアウトの準備
 7.6 読み込んだ頂点データの描画
 7.7 インデックスデータの読み込みと利用
 7.8 法線データの表示
 7.9 深度バッファーの導入
 7.10 ランバートの余弦則
 7.11 シェーダー側でランバートの余弦則を実装する
 7.12 法線ベクトルも回転させて正しい結果を得る

Chapter 8 マテリアル(材質)
 8.1 マテリアルとは
 8.2 PMDファイルからマテリアルデータを読み込む
 8.3 シェーダーへの転送と表示
 8.4 マテリアルに合わせてテクスチャを貼る
 8.5 テクスチャの有無に応じた処理
 8.6 他のモデルも試してみよう
 8.7 スペキュラとアンビエントの実装
 8.8 テクスチャファイルがTGAやDDSの場合
 8.9 トゥーンシェーディング

Chapter 9 リファクタリング
 9.1 便利なクラスや構造体・マクロ
 9.2 main.cppからApplicationクラスへ
 9.3 用途によって簡単な分類を行う
 9.4 結果としてのApplication.cpp

■Part 3 実践編(2)

Chapter 10 スキニングとアニメーション
 10.1 スキニング(スキンメッシュアニメーション)
 10.2 ボーン情報のロード
 10.3 ツリーの構築
 10.4 頂点シェーダーでボーン行列の配列を扱う
 10.5 ボーン行列バッファーの作成
 10.6 回転行列でモデルにポーズを付ける
 10.7 MMDのアニメーションデータ(VMDファイル)
 10.8 クォータニオンと回転行列
 10.9 VMDデータを読み込んでポーズを付ける
 10.10 VMDデータを使ったアニメーション
 10.11 ベジェ曲線補間と2つの近似法
 10.12 ベジェによるイーズインイーズアウトの実装

Chapter 11 インバースキネマティクス(IK)
 11.1 インバースキネマティクス(IK)とは
 11.2 余弦定理を用いた簡易的IK(間点が1つ)
 11.3 CCD-IK(間点が複数)
 11.4 2DにおけるCCD-IKの実装
 11.5 PMDにおけるCCD-IK
 11.6 その他VMDやIKの仕様を考慮する

Chapter 12 マルチパスレンダリング
 12.1 マルチパスレンダリングとは
 12.2 レンダリング先を変更しテクスチャとして利用する
 12.3 単純なポストエフェクト

Chapter 13 影行列とシャドウマップ
 13.1 シャドウ(影)とは
 13.2 影行列を用いた地面影
 13.3 シャドウマップの導入(マルチパスの応用)

■Part 4 応用編

Chapter 14 マルチレンダーターゲットとその応用
 14.1 ピクセルシェーダーの出力を複数にする(色・法線)
 14.2 色・法線情報によるディファードシェーディング
 14.3 高輝度成分抽出とブルーム(光のもれ)
 14.4 簡易的な被写界深度の実装

Chapter 15 スクリーンスペースアンビエントオクルージョン(SSAO)
 15.1 アンビエントオクルージョンとは
 15.2 数式から考えるアンビエントオクルージョン
 15.3 スクリーンスペースアンビエントオクルージョン(SSAO)の実装

■Part 5 ライブラリ編

Chapter 16 imguiの利用
 16.1 imguiとは
 16.2 imguiの組み込み
 16.3 imguiの活用例

Chapter 17 Effekseerライブラリの利用
 17.1 Effekseerとは
 17.2 Effekseerライブラリの取得と準備
 17.3 Effekseerライブラリの組み込み

Chapter 18 DirectXTKの利用(文字列表示)
 18.1 DirectXTKとは
 18.2 DirectXTK12の入手
 18.3 DirectXTKの組み込み
 18.4 フォントを指定して文字列を表示する
 18.5 文字セットの作成と日本語表示

各種問い合わせは以下のリンクからご連絡ください

関連商品

なっとく!並行処理プログラミング

3,520円(税込)

2024.11.11発売

おすすめ特集

プログラミング入門書大特集

翔泳社のプログラミング書籍の中から、入門・初級者向けの書籍をピックアップ!

Linuxおすすめ本特集

【Linux本特集】入門~達人レベルまで!クラウド時代の必須知識Linuxを学ぶおすすめの本

ライティングおすすめ本

ライティングのスキルアップにおすすめの本。Webライティングやコピーライティングなど

マネー本特集

お金と経済の基礎知識から、資産形成・投資術、お金教育や介護まで。暮らしに役立つマネー本

インテリア本特集

おしゃれな部屋作りのヒントやインテリアの基礎知識、色使い、うつわや洋食器の知識まで、幅広い書籍をご紹介

事務職におすすめの本

Excel、日商簿記、業務の自動化を実現するRPAやPythonの技術など、事務職としてステップアップしたい人に!

特集をもっと見る