【レポート】
続いて、語られたのはNovodeXのより細かい仕様についてだ。
AGEIAのNovodeXでの物理シミュレーションは、大まかに考えるとアクター(Actor)、形状(Shape)、シーン(Scene)といった要素レベルに分解できる。
さて、実際のNovodeXの活用では、複数のシーンを作ることができ、それぞれのシーンはアプリケーション側で特別な指定がない限りは相互干渉のない、独立したスレッドとして生成される。このスレッド生成は自動的に行われ、ゲームアプリケーション側の制御は不要となっている。もっとも将来的にはこのスレッド制御をアプリケーション側に解放するメソッドも思案中なのだとのこと。
生成されたスレッドはNovodeXの物理処理実行部で処理されるわけだが、この際、動作対象となるプラットフォームごとに、内部的なサブスレッドを生成するという。例えばCELLならば7基のSPEをフル稼働するようなスレッドにしたり……といった具合だ。
アクターは便宜上、基本的にはシーン毎に固有な管理となるが、複数のシーンで再利用することはできる。ゲームシステム側でそうした複数シーンをまたぐアクターの管理やシーンに対するアクターの再設定を行えば、この制限は事実上ないものと同じにできる。
そして各アクターは、衝突物理に必要な複雑な形状データを共有設定可能となっており、これはメモリ使用節約に大きく貢献する。同一形状キャラクタが複数個、群集で登場する場合でも形状データはたった1つでいいわけだ。
形状データは共有されるが、衝突判定やアニメーションによる形状回転変形などの固有パラメータはキャラクタ個数分、個別に管理処理されるので整合性に関する管理をゲームシステム側で行う必要はない。
この仕組みはXbox 360の3コアCPUで共有される大容量1MBのL2キャッシュとの相性がよいとのことで、形状データがL2キャッシュに載ったときには複数のCPUコアで最高速に複数のキャラクタの物理処理が行えるという。
また、NovodeXは、3Dグラフィックスの描画メソッドとして一般的なダブルバッファ技法を模倣した物理処理としてのダブルバッファシステムをサポートするとしている。
3Dグラフィックスのダブルバッファとは、あるフレームを表示している間に、表示していないバックバッファの方に描画し、この描画が完了したと同時に表示フレームとバックバッファを入れ替えるテクニックのこと。
NovodeXのダブルバッファは、これとはちょっと意味合いが異なり、NovodeXシステム側に1つ前の状態の物理処理結果を保存しておくことができるというものになっている。これは読み込みのみ可能なバッファとしてアクセスでき、例えば落下中のオブジェクトの動きを予測したり……といったゲーム内AIのパラメータとして利用できる……としている。
| 【コラム】Windowsスマートチューニング 第188回 Vista/7編: タスクスケジューラでリマインダー通知を行う [23:07 5/23] |
| サンコー、最大6面の液晶ディスプレイを設置できるモニターアーム [20:31 5/23] |
| マウス、「Intel 520 SSD」搭載BTO PCがお得にゲットできるキャンペーン [19:44 5/23] |
| 台湾VIA、49ドルのAndroid OS搭載Neo-ITXボード「APC 8750」を発表 [19:16 5/23] |
| 上海問屋、iPhoneをキズから守る強化ガラス製液晶保護シート [19:07 5/23] |
|
白か黒か? 『劇場版ポケットモンスター ベストウイッシュ』、7月12日放送 [00:47 5/24] ホビー |
|
TVアニメ『Fate/Zero』、第21話「双輪の騎士」の先行場面カットを紹介 [00:16 5/24] ホビー |
|
アニメ「夏目友人帳」展覧会の開催決定、主題歌集発売で [00:00 5/24] ホビー |
|
[ポケットモンスター]人気投票で放送作品を決定 異例の試み [00:00 5/24] ホビー |
|
【コラム】Windowsスマートチューニング 第188回 Vista/7編: タスクスケジューラでリマインダー通知を行う [23:07 5/23] パソコン |