Beginning 3D Game Programming (2)
- 作者: Tom Miller
- 出版社/メーカー: Sams
- 発売日: 2004/12/13
- メディア: ペーパーバック
- この商品を含むブログ (2件) を見る
先日 Beginning 3D Game Programming (id:NyaRuRu:20041226#p1) が届いたのでざっと読んでみました.
付属のサンプルゲームのソースコードを追う形で,3D ゲームを作るための環境設定,描画,入力,サウンド,通信といった一通りの流れについて説明するという流れになっています.また,プログラマブルシェーダや HLSL,テクスチャレンダリング,アプリケーション構成ファイルなどについても触れられています.とは言っても内容はあくまで初学者向けということになっています.掘り下げた内容についてはより専門性の高い書籍や資料に求めた方が良いでしょう.
なおサンプルゲームですが,ソースコードのみの提供なので実行するには各自コンパイルする必要があります.また X ファイルのロードに関して Microsoft.DirectX.Direct3DX はバージョン 1.0.2902.0 用に書かれています.Microsoft DirectX 9.0 SDK Update (December 2004) 付属のバージョン 1.0.2903.0 を使用するとランタイムエラーが発生しますのでご注意を.
Tankers サンプルですが,Debug Runtime で実行していてバグに気付きました.Tankers サンプルの gameEngine.cs は以下のように修正しておくと良いでしょう.
正
// Then minify if (caps.TextureFilterCaps.SupportsMinifyAnisotropic) { e.Device.SamplerState[0].MinFilter = TextureFilter.Anisotropic; } else if (caps.TextureFilterCaps.SupportsMinifyLinear) { e.Device.SamplerState[0].MinFilter = TextureFilter.Linear; }
誤
// Then minify if (caps.TextureFilterCaps.SupportsMinifyAnisotropic) { e.Device.SamplerState[0].MagFilter = TextureFilter.Anisotropic; } else if (caps.TextureFilterCaps.SupportsMinifyLinear) { e.Device.SamplerState[0].MagFilter = TextureFilter.Linear; }