DirectX9必携 増補版(電子書籍)

概要

本書は2010年にリリースしたDirectX9必携の増補版という位置付けの書籍になります。多くの部分はDirectX9必携そのままで、Direct3Dについて75項目程度を追加した形の電子書籍になります。

PDFファイルでのご提供となります(紙の書籍ではありません)。電子書籍の決済後の流れ等はこちらをご覧ください。

従来のDirectX9必携

Direct3D以外のAPI、DirectSound,DirectInput,DirectSetupについてはDirectX9必携と全く同じであり変更点追加点はありません。

仕事上、筆者はよく本書を利用するのですが、「こんなことも載ってなかったのか」と思うことが何回かありました。具体的にはDirect3Dの頂点バッファを利用してのポリゴンやメッシュの作成がその1つです。OpenGLの仕事をしているときに、頂点バッファを作成してモデルを作成することが多いのすが、そんな時本書を参考にしようと思って開いても基本的な頂点バッファ方式のやり方が載っていません。これはまずいと思ったのがきっかけです。

サンプルプログラム数で57サンプル、項目数で75項目増やした本にしました。

追加したサンプルは(全てDirect3Dです)、

頂点バッファでポリゴン関連

頂点バッファでメッシュ関連

フェードインアウト

キューブシャドウマップ

ブルーム(グロー)

ラジアルブラー

ゴッドレイ

ピクセルモーションブラー

フォグ

グラウンドフォグ、テクスチャードグラウンドフォグ

丸影

ライト各種(ディレクショナル、ポイント、スポット、減衰、ソフトエッジ)

オーレン・ナーヤー シェーダー

クック・トランス シェーダー

頂点単位、ピクセル単位の理解

2色コートシェーダー

アイスシェーダー

アイスシェーダー

Effectを使わないでHLSL

などです。

もともと本書では様々なパターンのサンプルを膨大に用意しています。今回追加したサンプルにより穴がなくなり、より読者の役に立つ可能性が向上したのではと思います。きっと読者の目的に合致したサンプル・項目があるはずです。

本書概観

pdf1

pdf3

pdf4

増えたサンプル(抜粋)

追加した主なサンプルの動画です。

スポットライト

キューブシャドウマップ

テクスチャードグランドフォグ

ピクセルモーションブラー

ラジアルブラー

ゴッドレイ

丸影

ブルーム(グロー)

Effectシステムを使わずにHLSL

アイスシェーダー

カーペイントシェーダー

オーレンナーヤー

クックトランス

頂点バッファでメッシュをゼロから構築

目次

1部 準備    22
1章 コンパイラー、SDK    23
003 古いバージョンのSDKをインストールする    24
004 異なるバージョンのSDKを使い分ける    35
005 VisualC++のバージョン問題解消    38
006 プロジェクトの保管管理方法    39
2部 DIRECT3D    40
2章 Direct3D 初期化    41
007 Direct3Dを初期化する    42
3章 プログラマブル・シェーダー超基本    46
008 最小機能で動くシェーダーを書く    47
009 ディフューズ色くらいは反映したい    50
010 陰影くらいは付けたい    52
011 テクスチャを貼りたい    55
012 シェーダーにデータを渡す    57
013 シェーダーからデータを取得する    59
4章 オブジェクトのレンダリング    60
4-1 点(ポイント)    60
014 ポイント(点)のレンダリング    61
4-2 パーティクル(ポイントスプライト)    63
015 ポイントスプライトとは?    64
016 ポイントスプライト 3D    65
017 ポイントスプライト 2D    67
018 ポイントスプライトのサイズを変更する 3D    70
019 ポイントスプライトのサイズを変更する 2D    72
020 ポイントスプライトをパーティクルらしくレンダリングする    76
4-3 線(ライン)    78
021 ライン(線)のレンダリング    79
4-4 単一面(ポリゴン)    80
022 ポリゴン(3頂点の面)のレンダリング    81
2Dスプライト    82
023 スプライト 2通りの実現方法    83
024 スプライトをレンダリングする    84
025 スプライトの抜け色を抜く    86
026 スプライトを意図した重ね順で重ねる    88
ビルボード    88
027 ビルボードをレンダリングする    89
頂点バッファから作る    92
028 頂点バッファでポリゴン    93
029 頂点バッファでポリゴン 頂点色    95
030 頂点バッファでポリゴン マテリアル色    97
031 頂点バッファでポリゴン 色、陰影    100
032 頂点バッファでポリゴン 色、陰影、光沢    101
033 頂点バッファでポリゴン テクスチャー    103
034 頂点バッファでポリゴン テクスチャー、陰影、光沢    105
4-5 複数面(メッシュ)    107
基本形状メッシュ    109
035 スフィア(球)のレンダリング    110
036 ボックス(立方体)のレンダリング    112
037 シリンダー(円柱)のレンダリング    113
038 トーラス(ドーナツ形)のレンダリング    116
039 ティーポットのレンダリング    119
040 3Dフォントのレンダリング    121
Xファイルメッシュ    122
041 Xファイルの作成について    123
042 Xファイルメッシュのレンダリング    126
043 複数のメッシュをレンダリングする    128
プログレッシブメッシュ    129
044 プログレッシブメッシュをレンダリングする    130
アニメーションメッシュ    132
045 アニメーションメッシュの作成について    133
046 アニメーションメッシュをXファイルから読み込む    135
047 フレーム階層を展開・走査する    136
048 階層展開(アロケート・ヒエラルキー)クラスのメソッドを実装する    137
049 アニメーションメッシュをレンダリングする    138
050 アニメーションスピードを調整する    140
051 時間指定によりモーションを切り替える    141
052 トラック切り替えによりモーションを切り替える    143
スキンアニメーションメッシュ    146
053 スキンメッシュとは?    147
054 スキンメッシュの作成について    148
055 スキンメッシュをレンダリングする    151
056 スキンアニメーションスピードを調整する    153
057 時間指定によりモーションを切り替える    154
058 トラック切り替えによりモーションを切り替える    156
頂点バッファから作る    157
059 頂点バッファでメッシュ    158
060 頂点バッファとインデックスバッファでメッシュ    162
061 頂点バッファとインデックスバッファでメッシュ 色    165
062 頂点バッファとインデックスバッファでメッシュ 色、陰影、光沢    168
063 頂点バッファとインデックスバッファでメッシュ テクスチャー    169
064 頂点バッファとインデックスバッファでメッシュ テクスチャー、陰影、光沢    170
4-6 文字列    170
065 情報確認用の文字列をレンダリングする    171
066 フォント名を取得する裏技    173
067 もじもじ君を使う    175
5章 オブジェクトの質感    178
5-1 マテリアル    178
068 色をつける    179
069 プラスチックのような質感にする    181
070 ゴムのような質感にする    182
071 金属のような質感にする    184
5-2 テクスチャ    185
072 オブジェクトにテクスチャを貼る    186
073 テクスチャのフォーマットとメモリサイズを理解する    188
074 ミップマップとメモリサイズを理解する    190
075 アルファ付きテクスチャで透過部分を作る    191
076 マルチパスとは    193
077 マルチテクスチャとは    194
078 テクスチャステージとは    195
079 オブジェクトに複数枚のテクスチャをブレンドして貼る    196
080 (特殊な)テクスチャ座標を自動生成する    197
081 鏡を作成する    201
082 テクスチャ自体を動かす    203
083 スプライトのテクスチャを反転させる    206
084 プログラマブルシェーダーでテクスチャを貼る    209
085 マルチテクスチャでメッシュを「燃やす」    211
086 プログラマブルシェーダーにおけるテクスチャの合成    215
087 プログラマブルシェーダーで「燃やす」    217
088 プログラマブルシェーダーで「焦がす」    220
5-3 シェーディングモデル    222
089 メッシュの頂点のみレンダリングする    223
090 メッシュをワイヤーフレームでレンダリングする    224
091 フラットシェーディングする    225
092 グーローシェーディングする    226
093 フォンシェーディングする    227
094 トゥーン(セル画風)シェーディングする    229
5-4 シェーディング 頂点単位とピクセル単位    232
095 頂点単位とピクセル単位    233
096 ランバート 頂点単位    236
097 ランバート ピクセル単位    237
098 フォン 頂点単位    238
099 フォン ピクセル単位    239
5-5 陰影と光沢    239
100 グーローシェーディングモードにより陰影を付ける    240
ランバート    241
101 ランバートモデルのシェーダーにより陰影を付ける    242
フォン    243
102 光沢を付ける    244
103 フォンモデルのシェーダーにより光沢を付ける    246
104 アイススティックのような霜(しも)を付ける    247
オーレン・ナーヤー    247
105 オーレン・ナーヤー 頂点単位    248
106 オーレン・ナーヤー ピクセル単位    251
クック・トランス    252
107 クック・トランス 頂点単位    253
108 クック・トランス ピクセル単位    256
5-6 シェーダー応用例    258
109 2色コーティング    259
110 アイスシェーダー 頂点単位    261
111 アイスシェーダー ピクセル単位    263
5-7 Effectシステムを使わずにHLSL    264
112 Effectを使わないでHLSL    265
5-8 バンプマッピング    268
113 ノーマルバンプマッピング(ハイトマップ)    269
114 ノーマルバンプマッピング(ノーマルマップ)    272
115 海水面を作る    273
5-9 映り込み    275
116 スフィアマップで擬似的に映りこませる    276
117 スフィアテクスチャを作成・初期化する    281
118 キューブマップでリアルに映りこませる    284
119 キューブテクスチャ用の画像を作成する    289
120 キューブテクスチャを作成・初期化する    295
121 サーフェイスで映りみを作る    296
122 奇妙な映りこみ    298
5-10 アルファブレンディング    299
123 アルファブレンディングする    300
124 カメラ位置に依存しないアルファブレンディング    302
125 1つのメッシュ内部でのアルファブレンディング    305
126 マテリアルのアルファ成分を反映させる    307
127 アルファ付きテクスチャの特定領域だけを透過させる    309
128 透過している裏ポリゴンを自然にする(カリングトリック)    311
6章 オブジェクトの位置、動作、変形    315
129 平行移動    316
130 回転    317
131 スケーリング    318
132 ビルボード化    319
133 任意画面位置に固定表示    321
134 ぺちゃんこ    322
7章 シーン    323
7-1 カメラワーク    323
カメラとは    323
135 カメラを移動・回転    324
136 特定の物体を注視させる    329
137 フォロートラックを行う(注視+追従移動)    332
138 回り込みトラックを行う(注視+移動+回転)    335
139 クレーンを行う(注視+移動)    339
140 ズームイン・アウトする    343
141 ドリーイン・アウトを行う(注視+移動+ズーム)    346
142 カメラを画面に対して絶対的に回転させる    349
143 カメラを画面に対して絶対的に回転させる2 (クオータニオン)    351
144 カメラに対し一定なジオメトリを作る(ビルボード)    353
145 3人称視点(TPV)    357
146 1人称視点(FPV)⇔3人称視点(TPV) 相互切り替え    359
147 ビュー変換行列を自分で作る    361
7-2 ライト    362
ディレクショナルライト    362
148 ディレクショナルライト    363
ポイントライト    366
149 ポイントライト    367
150 ポイントライト 減衰    371
スポットライト    373
151 スポットライト    374
152 スポットライト 減衰    379
153 スポットライト ソフトエッジ    380
154 スポットライト ソフトエッジ 減衰    383
7-3 フェードインアウト    384
155 フェードインアウトの仕組み    385
156 フェードインアウト ホワイトイン    386
157 フェードインアウト ホワイトアウト    391
158 フェードインアウト ブラックイン    394
159 フェードインアウト ブラックアウト    397
7-4 ぼかし    399
160 アンチエイリアシングをかける    400
161 フォグとは?    404
162 頂点フォグの問題点    405
163 開始点と終了点によりフォグをかける    409
164密度によりフォグをかける    411
165 頂点フォグ    413
166 ピクセルフォグ    415
167シェーダー線形フォグ    417
168 シェーダー指数フォグ    421
169 シェーダーグラウンドフォグ    423
170 シェーダーテクスチャードグラウンドフォグ    426
171 シーン全体をぼかす    429
172 簡易モーションブラー(高速)    432
173 距離によりぼかし具合を変化させる    434
174 被写界深度(DOF)効果を出す    436
175 ピクセルモーションブラー    437
176 ピクセルモーションブラー アニメで確認    441
7-5 影    442
177 平面投影法で影を作る    443
178 丸影    445
179 丸影 ソフトエッジ    450
180 シャドウボリューム法で影を付ける    453
181 ポイントライト時のシャドウボリューム    456
182 シャドウボリューム自体をレンダリングする    458
183 ダブル・ステンシルでシャドウボリュームを高速化する    460
184 シャドウマップ法で影を付ける    462
185 シャドウマップ法で影を付ける(ライティングを加味)    465
186 シャドーマップ法で影を付ける(ライティング、テクスチャを加味)    467
187 深度テクスチャを表示してみる    470
188 アニメーションメッシュに平面投影の影    472
189 アニメーションメッシュにシャドウボリューム    474
190 アニメーションメッシュにシャドウマップ    475
191 キューブシャドウマップ    477
192 キューブマップについて    482
193 キューブシャドウマップ  深度マップ可視化    483
7-6 ブルーム    484
194 ブルームとは    485
195 カーネルとは    487
196 ブルーム ガウシアンブラー 1パス 3×3カーネル    490
197 ブルーム ガウシアンブラー 1パス 5×5カーネル    497
198 ブルーム ガウシアンブラー 2パス 3×3カーネル    500
199 ブルーム ガウシアンブラー 2パス 5×5カーネル    503
200 ブルーム ガウシアンブラー 2パス 7×7カーネル    506
7-8 ゴッドレイ    508
201 ゴッドレイとは    509
202 ラジアルブラー    511
203 ゴッドレイ    515
204 ゴッドレイ 光源移動    523
205 ゴッドレイ 背後モデル考慮    528
7-9 最適化    530
206 視錐台カリング    531
8章 ダイナミクス    534
8-1 バウンディングスフィアによる衝突判定    534
207 バンディングスフィアにより衝突判定する    535
208 バンディングスフィアにより衝突判定する(アニメーションメッシュ)    538
8-2 バウンディングボックスよる衝突判定    540
軸平行境界ボックス AABB    540
209 AABBにより衝突判定する    541
有向境界ボックス OBB    543
210 OBBにより衝突判定する    544
211 OBBツリーにより衝突判定する(アニメーションメッシュ)    547
8-3 レイによる衝突判定    550
直線と面の交差検出    550
212 直線と無限遠平面の交差を検出する    551
213 平面方程式を求める    554
214 交点が平面の内か外かを検出する    556
215 直線と有限遠平面の交差を検出する    558
216 直線と平面の交点座標を算出する    560
直線とメッシュの交差検出    561
217 直線(レイ)とメッシュの交差を検出する    562
218 ”ワールド系での”直線(レイ)とメッシュの交差を検出する    564
219 交差しているメッシュ内のポリゴンを得る    566
220 交差しているメッシュ内ポリゴンの平面方程式を計算する    568
221 線(レイ)とメッシュ(内ポリゴン)の交点座標を求める    570
直線とアニメーションメッシュの交差検出    571
222 直線(レイ)とアニメーションメッシュの交差を検出する    572
223 交差しているアニメーションメッシュ内のパーツメッシュを得る    574
224 交差しているアニメーションメッシュ内のポリゴンを得る    575
225 交差しているアニメーションメッシュ内ポリゴンの平面方程式を計算する    576
226 線(レイ)とアニメーションメッシュ(内ポリゴン)の交点座標を求める    578
8-4 落下    578
227 自由落下のみ    579
228 自由落下、地面でバウンド    581
8-5 反射    582
229 反射    583
230 ポリゴン単位で反射    585
8-6 滑り    587
231 障害物を滑る    588
232 坂を登る    593
233 階段を登る    595
234 デコボコ地面を歩く    597
235 動く面上に対しての滑り    600
236 滑っている方向に回転する    604
8-7 発見システム    605
237 かくれんぼのAIにはオクルージョンクエリ    606
9章 レンダリング先、画面    609
9-1 ダイアログ    609
238 モーダルダイアログ全体にレンダリングする    610
239 モーダルダイアログの一部にレンダリングする    612
240 モードレスダイアログ全体にレンダリングする    613
241 モードレスダイアログの一部にレンダリングする    615
9-2 テクスチャサーフェイス    616
242 テクスチャ上にレンダリング    617
9-3 マルチビュー    620
243 1つのビューを分割した領域にレンダリングする    621
244 異なるビューを分割した領域にレンダリングする    624
245 一部の領域に異なるビューでレンダリングする(バックミラー等)    626
246 1つのビューを別のウィンドウ(子ウィンドウ)にレンダリングする    627
247 異なるビューを別のウィンドウ(子ウィンドウ)にレンダリングする    631
9-4 フルスクリーン    633
248 フルスクリーンにレンダリング    634
249 フルスクリーンにおけるデバイス消失を復旧する    636
10章 マウス    637
250 3D空間をマウスクリックする    638
11章 各種リソース、バッファ、サーフェイス    641
11-1 リソース管理    641
251 プールとは?    642
252 プールの種類とそれぞれの意味は?    643
253 ロックとは?    644
254 ロック時のフラグの意味は?    646
11-2 テクスチャ    646
255 ダーティ領域とは?    647
256 ダーティ領域を設定する    648
257 テクスチャをロックする    651
258 ビデオメモリにあるテクスチャをロックする    652
259 テクスチャ内のピクセルを変更する    653
260 テクスチャ内のピクセルを参照する    655
261 テクスチャからテクスチャへピクセルをコピーする    656
262 テクスチャを単色で塗りつぶす    657
263 テクスチャー内のイメージを動かす    659
11-3 画面バッファ関連(サーフェイス)    661
264 フロントバッファ、バックバッファとは?    662
265 深度バッファ(Zバッファ)とは?    663
266 ステンシルバッファとは?    664
267 デスクトップのサイズ、フォーマットを取得する    665
268 画面の状態を画像ファイルにする    666
11-4 レンダリングターゲット    668
269 レンダリングターゲットを変更する    669
270 テクスチャ上にレンダリングする    670
271 空(から)のオフスクリーンサーフェイスを作成する    674
272 フルスクリーン画面のピクセルデータを取得する    675
273 デスクトップ画面のピクセルデータを取得する    677
274 ウィンドウクライアント画面のピクセルデータを取得する    679
12章 Xファイル    680
12-1 Xファイルメッシュのバッファ    680
頂点バッファ    680
275 メッシュ内の頂点バッファにアクセスする    681
276 メッシュ内の頂点数を取得する    682
277 メッシュ内のポリゴン数を取得する    683
278 頂点バッファから頂点情報を取得する    684
279 メッシュの頂点に接線情報を加える    686
インデックスバッファ    687
280 インデックスバッファとは?    688
281 インデックスバッファにアクセスする    689
282 インデックスによりポリゴンの3頂点を取得する    690
283 ポリゴンの頂点法線を取得する    692
284 ポリゴンの頂点法線から面法線を算出する    694
属性バッファと属性テーブル    695
285 属性バッファとは?    696
286 属性テーブルとは?    700
287 属性バッファにアクセスする    701
288 属性テーブルを取得する    702
289 属性バッファの内容を表示する    703
290 属性テーブルの内容を表示する    705
291 属性の活用例(DrawSubsetに依らないサブセットごとのレンダリング)    707
隣接性バッファ    709
292 隣接性バッファとは?    710
293 隣接性バッファの作成    711
294 隣接性バッファの表示    712
295 隣接性バッファの活用例    714
12-2 Xファイル自体    716
296 Xファイルとは?    717
297 Xファイルの構造を理解する    718
298 Xファイル自体はどうやって作るの?    725
299 Xファイルのサイズを小さくする    726
300 メッシュの頂点数を削減してXファイルを小さくする    728
301 同じメッシュでも3DCGソフトとXファイルで頂点数が違うのはなぜ?    731
302 Xファイルに複数のアニメーション情報を収録する    732
13章 その他    733
303 ビデオカード及びドライバ関係の能力を取得する    734
304 自分の環境でのシェーダーの情報を取得する    737
305 デバッグ時の”ウォッチ”でインターフェイスのメンバを表示するには?    739
3部 DIRECTSOUND    742
14章 WAVファイル    743
14-1 WAVファイル    743
306 WAVファイルとは?    744
307 WAVファイルの構造    745
308 WAVファイルの種類    746
309 RIFFとは?    747
310 PCMとは?    749
311 リニアPCMとは?    750
312 標本化の原理    751
313 量子化の原理    753
314 符号化の原理    754
315 サウンドフォーマット構造体を把握する    755
14-2 WAVデータ読み込み    756
316 WAVファイルを開く    757
317 WAVファイル内を走査してチャンクを見つける    758
318 WAVファイルかどうか判別する    759
319 リニアPCMかどうかを判別する    760
320 FOURCCとは?    761
321 セカンダリーバッファーを作成する    762
322 セカンダリバッファーにWAVフォーマットを格納する    763
323 セカンダリーバッファーに波形データを書き込む    764
324 WAVファイル読み込みコード    765
325 RIFFにおけるチャンク及びID等のサイズ    767
15章 再生    768
15-1 基本再生    768
326 セカンダリーバッファーを再生(停止)する    769
327 再生中に関らず最初から再生をする    770
328 静的バッファによる基本的な再生を行う    772
329 サウンドをパンさせる    773
330 周波数を変更する(スピード・トーンを変更する)    775
331 ボリュームを変更する    777
332 サウンドカードの専用メモリってあるの?    779
333 バックグラウンドでも鳴るようにする    780
15-2 ストリーミング再生    781
334 ストリーミング再生とは?    782
335 なぜストリーミングするの?    783
336 ストリーミングの仕組み    784
337 WAVデータ上の”読み込みカーソル”が必要!    791
338 メモリ一括方式とファイル逐次方式    792
339 ストリーミング再生を行う(メモリ一括保存バージョン)    793
340 完全なストリーミング再生を行う(ファイル逐次読み込みバージョン)    796
15-3 エフェクト再生    797
エフェクト全般    797
341 エフェクトとは?    798
342 エフェクトを分類してみる    799
343 ディレイ系とは?    801
344 歪み(ひずみ)系とは?    802
345 うねり系とは?    803
346 フィルタ系とは?    804
347 セカンダリバッファーにエフェクトをかける    805
348 セカンダリバッファーのエフェクトを解除する    807
349 複数のエフェクトを重ねる    808
コーラス    809
350 コーラスとは?    810
351 コーラスをかける    811
352 コーラス効果を調整する    812
コンプレッサー    813
353 コンプレッションとは?    814
354 コンプレッサーをかける    816
355 コンプレッション効果を調整する    817
ディストーション    820
356 ディストーションとは?    821
357 ディストーションをかける    824
358 ディストーション効果を調整する    825
エコー    825
359 エコーとは?    826
360 エコーをかける    827
361 エコー効果を調整する    828
フランジャー    829
362 フランジャーとは?    830
363 フランジャーをかける    831
364 フランジャー効果を調整する    832
ガーグル    833
365 ガーグルとは?    834
366 ガーグルをかける    835
367 ガーグル効果を調整する    836
ウェーブス・リバーブ    837
368 ウェーブス・リバーブとは?    838
369 ウェーブス・リバーブをかける    839
370 ウェーブス・リバーブ効果を調整する    840
I3DL2リバーブ    841
371 I3DL2リバーブとは?    842
372 I3DL2リバーブをかける    843
373 I3DL2リバーブ効果を調整する    845
パラメトリック・イコライザー    846
374 パラメトリック・イコライザーとは?    847
375 パラメトリック・イコライザーをかける    848
376 パラメトリック・イコライザー効果を調整する    849
15-4 3D再生    850
377 3Dサウンドとは?    851
378 HRTFとは?    852
379 セカンダリバッファーに3D効果をかける    853
380 音源を空間的に移動する    856
381 音源を空間的に回転させる    858
382 音源の最小・最大距離を設定する    859
383 音源の速度を設定する    860
384 リスナーとは?    861
385 リスナーを移動する    862
386 リスナーを回転させる    863
387 リスナーの速度を設定する    864
388 リスナーにドップラー効果をかける    865
15-5 マルチチャンネル再生    865
389 マルチチャンネルとは?    866
390 マルチチャンネルのハード環境を整える    867
391 マルチチャンネルWAVファイルをマルチ再生する    868
392 マルチチャンネルWAVファイルをモノラルにダウンミックスする    869
393 マルチチャンネルWAVファイルをステレオにダウンミックスする    872
394 マルチチャンネルWAVファイルの特定チャンネルを再生する    874
395 4つのモノラルWAVファイルをマルチチャンネル再生する    875
396 6つのモノラルWAVファイルを5.1チャンネルで鳴らす    876
397 WAVファイルがマルチチャンネルかどうか調べる    877
398 マルチチャンネルのセカンダリバッファーを作成する    878
399 特定チャンネルのセカンダリーバッファーを作成する    879
400 WAVE_FORMAT_EXTENSIBLE構造体(及びWAVEFORMATEX構造体)の詳細    881
401 WAVデータフォーマットの詳細    884
16章 録音    886
402 サウンドのキャプチャーってなに?    887
403 とにかく今スピーカーから出ている音を録音したいんです!    888
404 静的バッファで録音(簡単版)    891
405 ストリームバッファで録音(完全版)    892
406 キャプチャーデバイスってサウンドカードと違うの?    893
407 サウンドキャプチャーする    894
408 キャプチャーしたサウンドをWAVファイルにする    897
17章 サウンドカードの調査    899
409 利用可能なサウンドカードを列挙する    900
410 サウンドカードの再生能力を調べる    902
411 サウンドカードのキャプチャー能力を調べる    904
4部 DIRECTINPUT    907
18章 入力(ユーザー→デバイス)    908
18-1 初期化    908
412 キーボード初期化の流れ    909
413 マウス初期化の流れ    910
414 ゲームコントローラー初期化の流れ    911
415 協調レベルとは?    912
416 デバイスの取得とは?    913
18-2 入力データ取得    913
417 押下されているキー(キーボード)を取得する    914
418 DirectInputを使わないで押下されているキー取得 GetKeystate版    916
419 マウスの動きを取得する    917
420 マウスボタンの押下を取得する    919
421 DirectInputを使わないでマウス入力を取得する    920
422 ゲームコントローラーのユーザー操作を取得する    922
423 アクセス権の消失に対処する    923
19章 フォースフィードバック(デバイス→ユーザー)    924
19-1 FFBの基本と共通事項    924
424 フォースフィードバックとは?    925
425 バイブレーションとフォースフィードバック    926
426 マグニチュードとは?    927
427 DirectInput時間の単位は?    928
428 ディレクションとは?    929
429 エンベロープとは?    930
430 サチュレイションとは?    933
431 コウエフィシェントとは?    936
432 なぜオートセンターを無効にするの?    937
433 フォースの種類について    938
19-2 能動的フォース(ユーザー入力非感応タイプ)    938
コンスタント(一定)フォース    938
434 コンスタントフォースとは?    939
435 コンスタントフォースを初期化する    941
436 コンスタントフォースをかける    942
ランプ(傾斜)フォース    942
437 ランプフォースとは?    943
438 ランプフォースを初期化する    945
439 ランプフォースをかける    946
ピリオディック(周期)フォース    946
440 ピリオディックフォースとは?    947
441 ピリオディックフォースのパターンについて    948
442 スクエア(矩形波)パターンの初期化    950
443 サイン(正弦波)パターンの初期化    951
444 トライアングル(三角波)パターンの初期化    952
445 ソウトゥース(ノコギリ刃)パターンの初期化    953
446 ピリオディックフォースをかける    954
19-3 受動的フォース(ユーザー入力感応タイプ)    955
コンディション(条件)フォース    955
447 コンディションフォースとは?    956
448 コンディションフォースの種類について    959
449 スプリング(ばね)の初期化    960
450 フリクション(摩擦)の初期化    961
451 ダンパー(緩衝器)の初期化    962
452 イナーシャ(慣性)の初期化    963
453 コンディションフォースを有効にする    964
19-4 FFB機器の調査    964
454 FFBコントローラーを検出する    965
455 FFBコントローラーの能力を取得する    967
5部 DIRECTSETUP    969
20章 DirectSetup    970
456 そもそもDirectSetupって何?    971
457 再頒布とは?Redistって何?    974
458 EULAって何?    975
459 DirectXランタイムバージョン番号について    976
460 D3DX系のdllバージョン番号について    978
461 再頒布処理に必要なファイル    980
462 EULAを表示する    981
463 自分のゲームにDirectXセットアップを実装する    982
6部 不具合対応    985
21章 不具合症例ごとの原因と対策    986
21-1 一般    986
464 DirectXコントロールパネルがない    987
465 コンパイラーのエラー    988
466 DirectXメモリーリークと一般メモリーリーク    989
467ビルドエラー、未解決の外部シンボル _main又は_WinMain@16    991
468 「d3dx9_○○.dllが見つかりません」で実行できない    992
469 ビルドエラー、「キャストが必要です。」「 から ‘LPCWSTR’に変換できません」    993
21-2 Direct3D    993
470 画面に映らない    994
471 メッシュや線が真っ黒になる    996
472 メッシュや線が真っ白になる    997
473 画面がマゼンタ、緑の点滅でちらつく    998
474 ポリゴンがバラバラ、引き伸ばされ、とにかくメッシュが壊れている    999
475 スケーリングすると明るく、暗くなる    1000
476 テクスチャが貼られない場合の原因は?    1001
477 メッシュがカメラに近くなると”くり抜かれる”    1002
478 重なっているポリゴンに汚い”しましま”が入る    1004
479 線に色が付く    1006
480 レンダリングが緑色っぽくなる    1007
481 3DCGソフトでは問題ないのにXファイルにするとポリゴンが欠けたりする    1008
482 Xファイルにするとポリゴン数が異常に増える    1009
483 Xファイルメッシュの中心が妙なところになる    1010
484 アニメーションが同じモーション    1011
485 回転しているだけなのにスケーリングする    1012
486 壁をすり抜ける    1013
487 空(そら)メッシュに陰影を付けたくない    1014
488 ポリゴン境界に線    1015
489 ウィンドウサイズ変更するとマウス座標がずれる    1016
490 回転が逆    1017
491 シェーダーでテクスチャ、マテリアル等の変更が反映されない    1018
492 どうしてもDirectXメモリリークが起きる    1019
21-3 DirectSound    1019
493 ボツっとノイズが入る    1020

購入方法

ご購入は当サイトオンラインショップで。(他では販売しておりません)